大理州建设局网站门户网,响应式网站建站工具,一般做网站宽度是多少,网站加载特效代码一、系统要求与准备工作
1.1 系统要求
操作系统: Windows 11 (建议22H2或更高版本)Python版本: 3.8-3.12 (推荐3.11或3.12)NVIDIA显卡: 支持CUDA的NVIDIA GPU (推荐RTX 40系列)驱动要求: 安装最新NVIDIA驱动程序
1.2 必需软件
Anaconda或Miniconda (推荐Miniconda#xff…一、系统要求与准备工作1.1 系统要求操作系统: Windows 11 (建议22H2或更高版本)Python版本: 3.8-3.12 (推荐3.11或3.12)NVIDIA显卡: 支持CUDA的NVIDIA GPU (推荐RTX 40系列)驱动要求: 安装最新NVIDIA驱动程序1.2 必需软件Anaconda或Miniconda(推荐Miniconda体积更小)NVIDIA CUDA Toolkit(通过conda安装)Python 3.8二、完整安装步骤2.1 创建虚拟环境# 创建名为env-torch的Python 3.12环境conda create --name env-torchpython3.12.2 -y(base)E:\code\phi3conda create --name env-torchpython3.12.2 -y3channel Terms of Service accepted Channels:done## To activate this environment, use## $ conda activate env-torch## To deactivate an active environment, use## $ conda deactivate(base)E:\code\phi32.2 激活虚拟环境# 激活环境(base)E:\code\phi3conda activate env-torch(env-torch)E:\code\phi32.3 安装CUDA Toolkit# 安装CUDA 12.8 (PyTorch 2.x最高支持版本)(env-torch)E:\code\phi3condainstall-c conda-forgecudatoolkit12.8-y3channel Terms of Service accepted Channels: - conda-forge - defaults Platform: win-64 Collecting package metadata(repodata.json):doneSolving environment: failed PackagesNotFoundError: The following packages are not available from current channels: -cudatoolkit12.8Current channels: - https://conda.anaconda.org/conda-forge - defaults - https://repo.anaconda.com/pkgs/main - https://repo.anaconda.com/pkgs/r - https://repo.anaconda.com/pkgs/msys2 To searchforalternate channels that may provide the conda package youre looking for, navigate to https://anaconda.org and use the search bar at thetopof the page.2.4 安装PyTorch# 安装PyTorch 2.x及其相关库 (CUDA 12.8版本)pipinstalltorch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128(env-torch)E:\code\phi3pipinstalltorch torchvision torchaudio Collecting torch Using cached torch-2.9.1-cp312-cp312-win_amd64.whl.metadata(30kB)Installing collected packages: mpmath, typing-extensions, sympy, pillow, numpy, networkx, MarkupSafe, fsspec, filelock, jinja2, torch, torchvision, torchaudio Successfully installed MarkupSafe-3.0.3 filelock-3.20.1 fsspec-2025.12.0 jinja2-3.1.6 mpmath-1.3.0 networkx-3.6.1 numpy-2.4.0 pillow-12.0.0 sympy-1.14.0 torch-2.9.1 torchaudio-2.9.1 torchvision-0.24.1 typing-extensions-4.15.0# 或使用清华镜像源加速 (国内用户推荐)pipinstalltorch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple --extra-index-url https://download.pytorch.org/whl/cu1282.5 验证安装# 检查PyTorch版本python -cimport torch; print(fPyTorch版本: {torch.__version__})(env-torch)E:\code\phi3python -cimport torch; print(fPyTorch版本: {torch.__version__})PyTorch版本:2.9.1cpu# 检查CUDA是否可用python -cimport torch; print(fCUDA可用: {torch.cuda.is_available()})三、测试代码3.1 完整测试脚本 PyTorch GPU安装验证与性能测试 Created By ChatGPT优化版 importtorchimporttorch.nnasnnimporttorch.optimasoptimimportnumpyasnpimporttimeimportsysdefprint_system_info():打印系统信息print(*60)print(PyTorch 安装验证与性能测试)print(*60)# Python和PyTorch信息print(fPython 版本:{sys.version})print(fPyTorch 版本:{torch.__version__})# CUDA信息print(f\nCUDA 可用:{torch.cuda.is_available()})iftorch.cuda.is_available():print(fCUDA 版本:{torch.version.cuda})print(f当前设备:{torch.cuda.current_device()})print(f设备名称:{torch.cuda.get_device_name(0)})print(f设备数量:{torch.cuda.device_count()})# GPU内存信息print(fGPU 内存总量:{torch.cuda.get_device_properties(0).total_memory/1e9:.2f}GB)print(fGPU 内存已用:{torch.cuda.memory_allocated(0)/1e9:.2f}GB)print(fGPU 内存保留:{torch.cuda.memory_reserved(0)/1e9:.2f}GB)else:print(警告: CUDA不可用将使用CPU运行)print(*60)classSimpleNN(nn.Module):简单的全连接神经网络def__init__(self,input_size784,hidden_size128,num_classes10):super(SimpleNN,self).__init__()self.fc1nn.Linear(input_size,hidden_size)self.fc2nn.Linear(hidden_size,hidden_size//2)self.fc3nn.Linear(hidden_size//2,num_classes)self.relunn.ReLU()self.dropoutnn.Dropout(0.1)defforward(self,x):xself.relu(self.fc1(x))xself.dropout(x)xself.relu(self.fc2(x))xself.dropout(x)xself.fc3(x)returnxdefgenerate_synthetic_data(num_samples60000,input_size784,num_classes10):生成合成数据print(f\n生成合成数据...)print(f样本数:{num_samples:,})print(f特征数:{input_size})print(f类别数:{num_classes})# 生成随机数据X_trainnp.random.randn(num_samples,input_size).astype(np.float32)y_trainnp.random.randint(0,num_classes,size(num_samples,))returnX_train,y_traindeftrain_model(model,X_train,y_train,device,epochs3,batch_size64):训练模型print(f\n开始训练...)print(f设备:{device})print(f轮次:{epochs})print(f批次大小:{batch_size})# 转换为PyTorch张量X_tensortorch.tensor(X_train).to(device)y_tensortorch.tensor(y_train).to(device,dtypetorch.long)# 定义损失函数和优化器criterionnn.CrossEntropyLoss()optimizeroptim.Adam(model.parameters(),lr0.001)# 训练循环losses[]start_timetime.time()forepochinrange(epochs):epoch_loss0.0num_batches0# 分批训练foriinrange(0,len(X_train),batch_size):# 获取批次数据inputsX_tensor[i:ibatch_size]labelsy_tensor[i:ibatch_size]# 前向传播optimizer.zero_grad()outputsmodel(inputs)losscriterion(outputs,labels)# 反向传播loss.backward()optimizer.step()epoch_lossloss.item()num_batches1# 计算平均损失avg_lossepoch_loss/num_batches losses.append(avg_loss)# 打印进度print(f轮次 [{epoch1}/{epochs}], 平均损失:{avg_loss:.4f})# 检查GPU内存使用情况ifdevice.typecuda:memory_allocatedtorch.cuda.memory_allocated(0)/1e6memory_reservedtorch.cuda.memory_reserved(0)/1e6print(f GPU内存使用:{memory_allocated:.1f}MB /{memory_reserved:.1f}MB)end_timetime.time()training_timeend_time-start_timeprint(f\n训练完成!)print(f总训练时间:{training_time:.2f}秒)print(f平均每轮时间:{training_time/epochs:.2f}秒)returnlosses,training_timedefbenchmark_performance():性能基准测试print(f\n{*60})print(性能基准测试)print(f{*60})# 测试不同设备devices[cpu]iftorch.cuda.is_available():devices.append(cuda)results{}fordevice_typeindevices:print(f\n在{device_type.upper()}上运行测试...)# 设置设备devicetorch.device(device_type)# 创建模型modelSimpleNN().to(device)# 生成数据X_train,y_traingenerate_synthetic_data(num_samples10000)# 使用较少数据用于基准测试# 训练losses,training_timetrain_model(model,X_train,y_train,device,epochs2,batch_size128)results[device_type]{training_time:training_time,final_loss:losses[-1]}# 清理GPU内存ifdevice_typecuda:torch.cuda.empty_cache()# 比较结果ifcudainresultsandcpuinresults:speedupresults[cpu][training_time]/results[cuda][training_time]print(f\n{*60})print(性能比较:)print(fCPU训练时间:{results[cpu][training_time]:.2f}秒)print(fGPU训练时间:{results[cuda][training_time]:.2f}秒)print(fGPU加速比:{speedup:.2f}x)returnresultsdefmain():主函数try:# 1. 打印系统信息print_system_info()# 2. 设备选择devicetorch.device(cudaiftorch.cuda.is_available()elsecpu)print(f\n使用设备:{device})# 3. 生成数据X_train,y_traingenerate_synthetic_data()# 4. 创建模型print(f\n创建神经网络模型...)modelSimpleNN().to(device)print(f模型参数量:{sum(p.numel()forpinmodel.parameters()):,})# 5. 训练模型losses,total_timetrain_model(model,X_train,y_train,device,epochs3,batch_size32)# 6. 性能基准测试 (可选)run_benchmarkinput(\n是否运行性能基准测试? (y/n): ).lower()ifrun_benchmarky:benchmark_performance()print(f\n{*60})print(PyTorch安装验证成功!)print(可以开始您的深度学习项目了!)print(f{*60})exceptExceptionase:print(f\n错误发生:{str(e)})print(请检查: 1) CUDA驱动 2) PyTorch版本 3) 虚拟环境)returnFalsereturnTrueif__name____main__:successmain()sys.exit(0ifsuccesselse1)3.2 简化测试脚本 (快速验证)# 快速验证脚本importtorchimportnumpyasnp# 检查PyTorch和CUDAprint(*50)print(PyTorch快速验证)print(*50)# 基本信息print(fPyTorch版本:{torch.__version__})print(fCUDA可用:{torch.cuda.is_available()})iftorch.cuda.is_available():print(fCUDA版本:{torch.version.cuda})print(fGPU设备:{torch.cuda.get_device_name(0)})# 简单GPU测试print(\nGPU性能测试...)atorch.randn(10000,10000).cuda()btorch.randn(10000,10000).cuda()starttorch.cuda.Event(enable_timingTrue)endtorch.cuda.Event(enable_timingTrue)start.record()ctorch.matmul(a,b)end.record()torch.cuda.synchronize()print(f矩阵乘法时间:{start.elapsed_time(end):.2f}ms)# 清理内存dela,b,c torch.cuda.empty_cache()print(GPU测试完成!)else:print(CUDA不可用仅CPU模式)print(*50)四、环境管理与常用命令4.1 Conda环境管理# 查看所有环境condaenvlist# 激活环境conda activate env-torch# 退出环境conda deactivate# 删除环境conda remove --name env-torch --all# 导出环境配置condaenvexportenvironment.yml# 从配置文件创建环境condaenvcreate -f environment.yml4.2 包管理# 更新所有包conda update --all# 安装特定版本PyTorchpipinstalltorch2.1.0torchvision0.16.0torchaudio2.1.0# 查看已安装包pip list|greptorch conda list|grepcuda4.3 故障排除# 检查CUDA版本nvcc --version# 或 nvidia-smi# 重新安装PyTorchpip uninstall torch torchvision torchaudio -y pip cache purge pipinstalltorch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128五、PyTorch应用场景5.1 学术研究计算机视觉: 图像分类、目标检测、图像分割自然语言处理: 文本分类、机器翻译、情感分析生成式AI: Stable Diffusion、GANs、大语言模型强化学习: 游戏AI、机器人控制、自动驾驶5.2 工业应用智能制造: 缺陷检测、质量监控医疗健康: 医学影像分析、药物发现金融服务: 欺诈检测、风险预测自动驾驶: 目标识别、路径规划5.3 教育与学习深度学习教学: 神经网络基础、CNN、RNN、Transformer算法实现: 实现最新研究论文竞赛平台: Kaggle、天池等数据科学竞赛5.4 开发部署模型开发: 快速原型设计、实验迭代模型优化: 量化、剪枝、蒸馏部署: ONNX导出、TensorRT加速、移动端部署六、总结与建议6.1 安装总结虚拟环境是必须的避免包冲突便于项目管理CUDA版本要匹配PyTorch、CUDA Toolkit、显卡驱动需版本兼容镜像源加速国内用户使用清华/阿里镜像源提高下载速度6.2 性能优化建议批处理大小调整根据GPU内存调整batch_size混合精度训练使用torch.cuda.amp加速训练数据加载优化使用DataLoader的num_workers和pin_memory梯度累积模拟大batch_size训练6.3 常见问题解决方案问题解决方案CUDA不可用1. 检查NVIDIA驱动 2. 确认CUDA版本匹配 3. 重新安装PyTorch内存不足1. 减小batch_size 2. 使用梯度累积 3. 启用混合精度导入错误1. 检查Python版本 2. 确认环境激活 3. 重新安装依赖6.4 后续学习路径官方教程: pytorch.org/tutorials实践项目: 从MNIST开始到CIFAR-10再到自定义数据集进阶学习: 学习PyTorch Lightning、TorchScript、LibTorch社区参与: GitHub、Stack Overflow、PyTorch论坛最后确认安装完成后运行测试脚本确认✅ PyTorch版本正确显示✅ CUDA可用性为True✅ GPU设备名称正确显示✅ 训练过程无报错