miniconda+VSCode深度学习环境配置(小白教程二)
1.VSCode选择虚拟环境
新建一个名为test文件夹,点击VSCode右上角的文件–>打开文件夹,选中刚刚创建的test文件夹
一定要点我信任作者,不然后面可能会报错。
点击新建文件或者在下方右键选择新建文件,命名为test.py
双击打开test.py文件,右下角会显示当前环境名称。
单击右下角环境名,出现选择解释器,选中刚刚创建的test虚拟环境,成功以后右下角环境名换变为选择的虚拟环境名。
点击终端中的新建终端,终端窗口中的环境名会自动激活为test。
2.pytorch配置
pytorch 就是 Python 的 torch 包,是深度学习和机器学习中的一个非常强大的工具,一般安装torch的版本根据复现的项目要求。可以在https://pytorch.org/get-started/previous-versions/.中查询torch依赖包的对应关系。
在这里仅仅为了测试,教大家如何安装torch,后面的url一般是官方源,国内访问速度较慢。
使用国内镜像源配置的有cpu版本和gpu版本,一般用gpu处理速度较快,清华源和中国科大源默认安装的是cpu版本的torch。
使用镜像源安装GPU版的torch命令如下,其中==-f https://mirrors.aliyun.com/pytorch-wheels/cu121/==指定镜像源为阿里镜像源
pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 -f https://mirrors.aliyun.com/pytorch-wheels/cu121/
测试GPU版的torch是否可用,在终端中输入逐句以下命令回车
python
import torch
torch.cuda.is_available()
在这里我遇到了一个错误 numpy版本过高,
没有错误的可以自动跳过-------------------------------------------------------------------------------------------
在终端中输入以下命令指定镜像源回车安装低版本的numpy
pip install numpy<2 -i https://pypi.mirrors.ustc.edu.cn/simple/
-------------------------------------------------------------------------------------------------------------------------------------
输出为True 证明torch已经配置成功了
3.CodeGeeX
介绍一个对小白友好的插件,在VSCode的扩展商店中搜索codegeex并安装,需要跳转到网站登陆才能正常使用。
测试代码
import torch
import torch.nn as nn
import torch.optim as optim
import matplotlib.pyplot as plt
# 1. 随机生成数据
# 生成100个样本,每个样本有10个特征
X = torch.randn(100, 10)
# 生成对应的标签,这里假设是线性关系:Y = 2X1 + 3X2 - X3 + noise
Y = 2 * X[:, 0] + 3 * X[:, 1] - X[:, 2] + torch.randn(100) * 0.1 # 加上一些噪声
# 2. 定义简单的MLP模型
class SimpleMLP(nn.Module):
def __init__(self):
super(SimpleMLP, self).__init__()
self.fc1 = nn.Linear(10, 64) # 输入10个特征,输出64个节点
self.fc2 = nn.Linear(64, 1) # 输出1个预测值
def forward(self, x):
x = torch.relu(self.fc1(x)) # 使用ReLU激活
x = self.fc2(x)
return x
# 3. 初始化模型、损失函数和优化器
model = SimpleMLP()
criterion = nn.MSELoss() # 均方误差损失函数
optimizer = optim.Adam(model.parameters(), lr=0.001)
# 4. 训练模型
num_epochs = 100
losses = []
for epoch in range(num_epochs):
model.train()
# 前向传播
predictions = model(X)
# 计算损失
loss = criterion(predictions.squeeze(), Y) # Y是1维向量,所以需要squeeze
losses.append(loss.item())
# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
if (epoch + 1) % 10 == 0:
print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')
# 5. 可视化损失
plt.plot(range(num_epochs), losses, label='Training Loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.title('Training Loss vs Epochs')
plt.legend()
plt.show()
出现波浪线的依赖包一般是未安装或者安装版本不匹配导致,点击右边的CodeGeeX,询问安装xxx的pip镜像源命令,在终端中输入安装命令即可。
新建一个终端 或者在刚刚的终端中输入exit() 退出,输入
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后波浪线会自动消失。
点击运行 调试当前的python文件,出现以下界面证明你的第一个深度学习环境已经搭建成功了。