PyTorch 是一个基于 Python 的科学计算库,是一个使用GPU和CPU优化的深度学习开源工具,广泛用于自然语言处理、计算机视觉、图像处理和强化学习等领域。想要使用 PyTorch,首先需要在计算机上进行安装。以下是两种 PyTorch 安装方法:
方法一:使用 pip 安装
- 前往 PyTorch 官网 ,根据自己的需求选择对应的 PyTorch 版本进行下载。
- 打开终端,切换到你的 Python 环境,运行以下命令:
pip install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/cpu/torch_stable.html
此命令将会安装 PyTorch CPU 版本,如果想要使用 GPU 版本,将 cpu
改成 cu102
(PyTorch 版本会随之改变,根据自己的需求进行选择)。
- 等待安装成功,然后就可以开始使用 PyTorch 了。
方法二:使用 Anaconda 安装
- 安装 Anaconda 并配置环境变量。
- 打开 Anaconda Prompt 或者终端,创建一个新的环境(可以根据自己的需求自定义命名):
conda create -n myenv python=3.8
- 激活新的环境:
conda activate myenv
- 安装 PyTorch:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
此命令将会安装 PyTorch CPU 版本,如果想要使用 GPU 版本,将 cpuonly
改成 cudatoolkit=<version>
(
- 等待安装成功,然后就可以开始使用 PyTorch 了。
以下是两条 PyTorch 使用示例:
- 使用 PyTorch 训练一个简单的神经网络,并显示训练过程:
import torch
import torch.nn as nn
import torch.optim as optim
# 定义一个简单的神经网络
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.fc1 = nn.Linear(10, 5)
self.fc2 = nn.Linear(5, 2)
def forward(self, x):
x = self.fc1(x)
x = torch.sigmoid(x)
x = self.fc2(x)
return x
# 准备数据
x = torch.randn(4, 10)
y = torch.tensor([[0, 1], [1, 0], [0, 1], [0, 1]], dtype=torch.float)
# 定义模型、损失函数和优化器
net = Net()
criterion = nn.MSELoss()
optimizer = optim.SGD(net.parameters(), lr=0.1)
# 训练模型
for epoch in range(100):
optimizer.zero_grad()
output = net(x)
loss = criterion(output, y)
loss.backward()
optimizer.step()
print('Epoch [{}/{}], Loss: {:.4f}'.format(epoch+1, 100, loss.item()))
- 使用 PyTorch 加载一个已经训练好的模型(注意需要先安装
scikit-learn
和joblib
库):
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, classification_report
import joblib
import torch
# 加载iris数据集
iris = load_iris()
X = iris.data
y = iris.target
# 将数据划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练LogisticRegression模型
lr = LogisticRegression()
lr.fit(X_train, y_train)
# 保存训练好的模型
joblib.dump(lr, 'lr.pkl')
# 加载模型并预测
lr = joblib.load('lr.pkl')
y_pred = lr.predict(X_test)
# 将预测结果转成Tensor类型
y_pred = torch.tensor(y_pred)
# 计算准确率和分类报告
acc = accuracy_score(y_test, y_pred)
report = classification_report(y_test, y_pred)
print('Accuracy:', acc)
print('Classification Report:\n', report)
以上是 PyTorch 的两种安装方法以及两条使用示例。根据自己的需求进行选择和尝试。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyTorch两种安装方法 - Python技术站