![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Pytorch
Pytorch
leetteel
西安交通大学硕士
展开
-
pytorch 实现BP神经网络
# -*- coding: utf-8 -*import numpy as npimport torchfrom torch import nnfrom torch.autograd import Variablefrom torch.utils.data import DataLoaderimport matplotlib.pyplot as pltx = [ [0, 0], [0, 1], [1, 0], [1, 1], ]y=[[0],原创 2021-10-24 16:37:43 · 7271 阅读 · 4 评论 -
RuntimeError: Attempting to deserialize object on CUDA device 2 but torch.cuda.device_count() is 1
在加载模型的语句上,增加map_location='cuda:0’ loaded_state = torch.load(model_path+seq_to_seq_test_model_fname,map_location='cuda:0')原创 2021-09-19 21:05:20 · 330 阅读 · 0 评论 -
保存数据到excel中
import csvimport numpy as npepisode=np.random.rand()episode_step=np.random.rand()episode_rewardacc=np.random.rand()episode_time_end=np.random.rand()episode_time_start=np.random.rand()episodeCsvFile = open("episode.csv", "a+")episodeCsvWriter = csv.原创 2021-09-17 11:18:04 · 185 阅读 · 0 评论 -
np.transpose(npimg, (1, 2, 0)
import PILimport torchimport torchvision.transforms as transformsimport cv2import numpy as npimg_path ="下载.jpg"# transforms.ToTensor()transform1 = transforms.Compose([ transforms.ToTensor(), # range [0, 255] -> [0.0,1.0] transforms.Norm原创 2021-09-16 22:22:55 · 539 阅读 · 0 评论 -
使用 tensorboard 可视化模型、数据和训练
为了了解发生了什么,我们在模型训练时打印出一些统计数据,以了解训练是否在进行。 但是,我们可以做得更好:PyTorch 与 TensorBoard 集成,后者是一种用于可视化神经网络训练运行结果的工具。 本教程使用 Fashion-MNIST 数据集说明了它的一些功能,该数据集可以使用 torchvision.datasets 读入 PyTorch。在本教程中,我们将学习如何:读入数据并进行适当的转换(与之前的教程几乎相同)。设置 TensorBoard。写入 TensorBoard。使用 Te原创 2021-09-16 19:56:50 · 1057 阅读 · 1 评论 -
notebook中使用tensorboard
通过命令行 (command) 或在 notebook 体验中启动 TensorBoard ,这两个接口通常是相同的。 在 notebooks, 使用 %tensorboard 命令。 在命令行中, 运行不带“%”的相同命令。%tensorboard --logdir logs/fit原创 2021-09-16 16:51:16 · 643 阅读 · 0 评论 -
训练一个分类器
在本教程中,我们将使用 CIFAR10 数据集。 它有类:“飞机”、“汽车”、“鸟”、“猫”、“鹿”、“狗”、“青蛙”、“马”、“船”、“卡车”。 CIFAR-10 中的图像大小为 3x32x32,即大小为 32x32 像素的 3 通道彩色图像。训练图像分类器我们将按顺序执行以下步骤:使用 torchvision 加载并标准化CIFAR10训练和测试数据集定义卷积神经网络定义损失函数在训练数据上训练网络在测试数据上测试网络1. 加载并标准化 CIFAR10使用 torchvisio原创 2021-09-15 20:52:45 · 106 阅读 · 0 评论 -
Pytorch入门教程导航栏
大多数机器学习工作流都涉及处理数据、创建模型、优化模型参数和保存经过训练的模型。 本教程向您介绍在 PyTorch 中实现的完整 ML 工作流程,并提供链接以了解有关每个概念的更多信息。pytorch教程(1)——认识tensorpytorch教程(2)——认识数据集和数据加载器pytorch教程(3)——变换pytorch教程(4)——构建神经网络pytorch教程(5)——梯度自动计算pytorch教程(6)——优化模型参数pytorch教程(7)——保存和加载模型...原创 2021-09-14 21:03:43 · 126 阅读 · 0 评论 -
pytorch教程(1.6)——优化模型参数
摘要现在我们有了模型和数据,是时候通过优化数据参数来训练、验证和测试我们的模型了。 训练模型是一个迭代过程; 在每次迭代(称为 epoch)中,模型对输出进行猜测,计算其猜测中的误差(损失),收集误差对其参数的导数(如我们在上一节中看到的),并优化 这些参数使用梯度下降。先决条件代码我们从前面关于 Datasets & DataLoaders 和 Build Model 的部分加载代码。import torchfrom torch import nnfrom torch.utils.da原创 2021-09-14 20:45:51 · 689 阅读 · 0 评论 -
pytorch教程(1.5)——梯度自动计算
摘要在训练神经网络时,最常用的算法是反向传播。 在该算法中,参数(模型权重)根据损失函数相对于给定参数的梯度进行调整。为了计算这些梯度,PyTorch 有一个名为 torch.autograd 的内置微分引擎。 它支持任何计算图的梯度自动计算。考虑最简单的一层神经网络,输入 x,参数 w 和 b,以及一些损失函数。 它可以通过以下方式在 PyTorch 中定义:import torchx = torch.ones(5) # input tensory = torch.zeros(3) #原创 2021-09-14 16:18:36 · 1163 阅读 · 0 评论 -
pytorch教程(1.7)——保存和加载模型
在本节中,我们将了解如何通过保存、加载和运行模型预测来保持模型状态。import torch import torch.onnx as onnx import torchvision.models as models保存和加载模型权重PyTorch 模型将学习到的参数存储在名为 state_dict 的内部状态字典中。 这些可以通过 torch.save 方法持久化:model = models.vgg16(pretrained=True)torch.save(model.state_dic原创 2021-09-14 10:54:46 · 373 阅读 · 0 评论 -
pytorch教程(1.3)——变换
摘要数据并不总是以训练机器学习算法所需的最终处理形式出现。我们使用转换来对数据进行一些操作并使其适合训练。所有 TorchVision 数据集都有两个参数 -transform修改特征和 target_transform修改标签 - 接受包含转换逻辑的可调用对象。该torchvision.transforms模块提供几种常用的变换开箱。FashionMNIST 特征采用 PIL Image 格式,标签为整数。对于训练,我们需要将特征作为归一化张量,将标签作为单热编码张量。为了进行这些转换,我们使用To原创 2021-09-14 10:28:56 · 157 阅读 · 0 评论 -
pytorch教程(1.4)——构建神经网络
目录摘要定义类模型层nn.Flattennn.Linearnn.ReLUnn.Sequentialnn.Softmax模型参数摘要神经网络由对数据执行操作的层/模块组成。 torch.nn 命名空间提供了构建自己的神经网络所需的所有构建块。 PyTorch 中的每个模块都是 nn.Module 的子类。 神经网络是一个模块本身,由其他模块(层)组成。 这种嵌套结构允许轻松构建和管理复杂的架构。在以下部分中,我们将构建一个神经网络来对 FashionMNIST 数据集中的图像进行分类。import原创 2021-09-13 23:16:00 · 307 阅读 · 0 评论 -
pytorch教程(1.2)——认识数据集和数据加载器
目录摘要加载数据集迭代和可视化数据集为您的文件创建自定义数据集\__init\__\__getitem\__摘要处理数据样本的代码可能会变得混乱且难以维护; 我们理想地希望我们的数据集代码与我们的模型训练代码分离,以获得更好的可读性和模块化。 PyTorch 提供了两种数据原语:torch.utils.data.DataLoader 和 torch.utils.data.Dataset,它们允许您使用预加载的数据集以及您自己的数据。 Dataset 存储样本及其相应的标签,DataLoader 在原创 2021-09-13 22:51:37 · 306 阅读 · 0 评论 -
pytorch教程(1.1)——认识tensor
张量是一种特殊的数据结构,与数组和矩阵非常相似。 在 PyTorch 中,我们使用张量对模型的输入和输出以及模型的参数进行编码。张量类似于 NumPy 的 ndarray,不同之处在于张量可以在 GPU 或其他硬件加速器上运行。 事实上,张量和 NumPy 数组通常可以共享相同的底层内存,从而无需复制数据(参见 Bridge with NumPy)。 张量也针对自动微分进行了优化(我们将在后面的 Autograd 部分看到更多相关信息)。 如果您熟悉 ndarrays,那么您将熟悉 Tensor API。原创 2021-09-13 22:14:29 · 213 阅读 · 1 评论 -
多分类问题计算准确率
import torchfrom torch.nn import functional as Flogits=torch.rand(10,10)pred=F.softmax(logits, dim=1)pred_label=pred.argmax(dim=1)label=torch.tensor([3,7,6,9,0,2,6,4,5,6])correct=torch.eq(label,pred_label)correct.sum().float().item()/len(label)原创 2021-09-04 11:11:36 · 792 阅读 · 0 评论 -
梯度下降方法实现函数优化实例
函数图像这个函数有4个最低点代码import numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import pyplot as pltimport torchdef himmelblau(x): return (x[0] ** 2 + x[1] - 11) ** 2 + (x[0] + x[1] ** 2 - 7) ** 2x = np.arange(-6, 6, 0..原创 2021-09-02 22:05:50 · 114 阅读 · 0 评论 -
Loss及其梯度的计算
from torch.nn import functional as Fimport torchx=torch.randn(1,10)w=torch.randn(1,10,requires_grad=True)o=torch.sigmoid(x@w.t())loss=F.mse_loss(torch.ones(1,1),o)loss.backward()print("x:",x)print("w:",w)print("o:",o)print("loss:",loss)print("w.原创 2021-08-29 22:43:17 · 783 阅读 · 0 评论 -
Pytorch索引与切片
原创 2021-08-27 22:09:20 · 117 阅读 · 0 评论 -
GPU加速和CPU对比
import torchimport timeprint(torch.__version__)print(torch.cuda.is_available())a = torch.randn(10000, 1000)b = torch.randn(1000, 2000)t0 = time.time()c = torch.matmul(a, b)t1 = time.time()print(a.device, t1 - t0, c.norm(2))device = torch.dev原创 2021-08-27 10:56:44 · 622 阅读 · 0 评论