宁波做亚马逊网站,宿州网络科技有限公司,做教育集团的网站,网站建设+廊坊1.Tensor操作 Tensor是PyTorch中最基本的数据结构#xff0c;类似于NumPy的数组#xff0c;但可以在GPU上运行加速计算。 示例#xff1a;创建和操作Tensor
import torch# 创建一个零填充的Tensor
x torch.zeros(3, 3)
print(x)# 加法操作
y torch.ones(3, 3)
z x y
pr…1.Tensor操作 Tensor是PyTorch中最基本的数据结构类似于NumPy的数组但可以在GPU上运行加速计算。 示例创建和操作Tensor
import torch# 创建一个零填充的Tensor
x torch.zeros(3, 3)
print(x)# 加法操作
y torch.ones(3, 3)
z x y
print(z)# 在GPU上创建Tensor
device torch.device(cuda if torch.cuda.is_available() else cpu)
x torch.zeros(3, 3, devicedevice)
print(x)运行结果
2. nn.Module和自定义模型 nn.Module是PyTorch中定义神经网络模型的基类所有的自定义模型都应该继承自它。 示例定义一个简单的全连接神经网络模型
import torch
import torch.nn as nn# 自定义模型类
class SimpleNet(nn.Module):def __init__(self):super(SimpleNet, self).__init__()self.fc nn.Linear(10, 5) # 线性层输入维度为10输出维度为5def forward(self, x):x self.fc(x)return x# 创建模型实例
model SimpleNet()
print(model)运行结果 3. DataLoader和Dataset DataLoader用于批量加载数据Dataset定义了数据集的接口自定义数据集需继承自它。 示例加载自定义数据集
import torch
from torch.utils.data import Dataset, DataLoader# 自定义数据集类
class CustomDataset(Dataset):def __init__(self, data, targets):self.data dataself.targets targetsdef __len__(self):return len(self.data)def __getitem__(self, index):x self.data[index]y self.targets[index]return x, y# 假设有一些数据和标签
data torch.randn(100, 10) # 100个样本每个样本10维
targets torch.randint(0, 2, (100,)) # 100个随机标签0或1# 创建数据集实例
dataset CustomDataset(data, targets)# 创建数据加载器
batch_size 10
dataloader DataLoader(dataset, batch_sizebatch_size, shuffleTrue)# 打印一个batch的数据
for batch in dataloader:inputs, labels batchprint(inputs.shape, labels.shape)break运行结果 4. 优化器和损失函数 优化器用于更新模型参数以减少损失损失函数用于计算预测值与实际值之间的差异。 示例使用优化器和损失函数
import torch
import torch.nn as nn
import torch.optim as optim# 定义模型假设已定义好
model SimpleNet()# 定义损失函数
criterion nn.CrossEntropyLoss()# 定义优化器
optimizer optim.Adam(model.parameters(), lr0.001)# 前向传播、损失计算、反向传播和优化过程请参考前面完整示例的训练循环部分。运行结果
5. nn.functional中的函数 nn.functional提供了各种用于构建神经网络的函数如激活函数、池化操作等。 示例使用ReLU激活函数
import torch
import torch.nn.functional as F# 创建一个Tensor
x torch.randn(3, 3)# 使用ReLU激活函数
output F.relu(x)
print(output)运行结果