深度学习pytorch笔记
文章平均质量分 85
主要做深度学习pytorch的笔记
赤坂·龙之介
专注python,pytorch常见函数的解析。
展开
-
pytorch使用GPU炼丹笔记
如何使用GPU训练/测试模型使用单GPU设置设备将数据转换成CUDA张量将模型参数转换成CUDA张量使用指定GPU1.使用CUDA_VISIBLE_DEVICES。1.1 直接在终端或shell脚本中设定:1.2 python代码中设定:2. 使用函数 set_device使用多GPU实验结果原理:通过依靠GPU的并行计算能力,能够大大缩短模型训练时间。在使用GPU跑代码的时候,只需要将模型参数和数据放到GPU上转换成CUDA张量即可。所以,代码需要修改的地方只有两处:1.模型实例化处。2.数据原创 2021-08-24 21:34:23 · 1818 阅读 · 0 评论 -
安装Pytorch如何选择CUDA的版本
安装Pytorch时CUDA的选择Nvidia CUDA查看CUDA版本方法查看CUDA的驱动API版本查看CUDA的运行API版本查看官方CUDA的运行API版本方法1方法2查看Anaconda里cudatoolkit包版本CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅。Nvidia官方提供的CUDA 库是一个完整的工具安装包,其中提供了 Nvidia驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。Nvidia CUDANvidia安装的cuda是原创 2021-08-01 17:09:55 · 6301 阅读 · 3 评论 -
深度学习pytorch--多层感知机(三)
使用pytorch框架实现多层感知机和实现softmax回归唯一的不同在于我们多加了一个全连接层作为隐藏层。它的隐藏单元个数为256,并使用ReLU函数作为激活函数。#模型的核心代码为: nn.Linear(num_inputs, num_hiddens), nn.ReLU(), nn.Linear(num_hiddens, num_outputs), ...原创 2021-05-13 13:37:14 · 175 阅读 · 0 评论 -
深度学习pytorch--多层感知机(二)
多层感知机的从零开始实现获取和读取数据定义模型参数定义激活函数定义模型定义损失函数训练模型小结我们已经从上一节里了解了多层感知机的原理。下面,我们一起来动手实现一个多层感知机。首先导入实现所需的包或模块。import torchimport numpy as np获取和读取数据这里继续使用Fashion-MNIST数据集。代码和之前softmax回归是一样的,我们将使用多层感知机对图像进行分类。定义模型参数我们在3(softmax回归的从零开始实现)里已经介绍了,Fashion-MNIST数原创 2021-05-13 13:30:39 · 501 阅读 · 0 评论 -
深度学习pytorch--多层感知机(一)
多层感知机隐藏层激活函数ReLU函数sigmoid函数tanh函数多层感知机小结我们已经介绍了包括线性回归和softmax回归在内的单层神经网络。然而深度学习主要关注多层模型。在本节中,我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。隐藏层多层感知机在单层神经网络的基础上引入了一到多个隐藏层(hidden layer)。隐藏层位于输入层和输出层之间。图3.3展示了一个多层感知机的神经网络图,它含有一个隐藏层,该层中有5个隐藏单元。 带有隐藏层的原创 2021-05-12 16:02:41 · 490 阅读 · 1 评论 -
深度学习pytorch--softmax回归(三)
softmax回归的简洁实现获取和读取数据定义和初始化模型softmax和交叉熵损失函数定义优化算法模型评价训练模型小结完整代码前两篇链接:深度学习pytorch–softmax回归(一)深度学习pytorch–softmax回归(二)本文使用框架来实现模型。获取和读取数据我们仍然使用Fashion-MNIST数据集和上一节中设置的批量大小。#获取数据集mnist_train=torchvision.datasets.FashionMNIST('./Datasets/FashionMNIST原创 2021-05-12 00:06:16 · 224 阅读 · 0 评论 -
深度学习pytorch--softmax回归(二)
softmax回归的从零开始实现实验前思考获取和读取数据获取数据集查看数据集查看下载后的.pt文件查看mnist_train和mnist_test读取数据集查看数据迭代器内容初始化模型参数定义softmax函数定义模型定义损失函数计算分类准确率模型评价--准确率开始训练可视化总结完整代码实验前思考本文不使用框架解决多分类问题。一定要先明白实验原理。可看博客深度学习pytorch–softmax回归(一)一定要先弄清楚数据是怎么用Tensor表示的。获取和读取数据这里使用Fashion-MNI原创 2021-05-11 23:00:19 · 792 阅读 · 0 评论 -
深度学习pytorch--MNIST数据集
图像分类数据集(Fashion-MNIST)在介绍softmax回归的实现前我们先引入一个多类图像分类数据集。它将在后面的章节中被多次使用,以方便我们观察比较算法之间在模型精度和计算效率上的区别。图像分类数据集中最常用的是手写数字识别数据集MNIST[1]。但大部分模型在MNIST上的分类精度都超过了95%。为了更直观地观察算法之间的差异,我们将使用一个图像内容更加复杂的数据集Fashion-MNIST[2](这个数据集也比较小,只有几十M,没有GPU的电脑也能吃得消)。本节我们将使用torchvisi转载 2021-05-11 13:15:40 · 702 阅读 · 0 评论 -
深度学习pytorch--softmax回归(一)
softmax回归前几节介绍的线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输出可以是一个像图像类别这样的离散值。对于这样的离散值预测问题,我们可以使用诸如softmax回归在内的分类模型。和线性回归不同,softmax回归的输出单元从一个变成了多个,且引入了softmax运算使输出更适合离散值的预测和训练。本节以softmax回归模型为例,介绍神经网络中的分类模型。分类问题让我们考虑一个简单的图像分类问题,其输入图像的高和宽均为2像素,且色彩为灰度。这样每个像素值都可以用一个标量表示。我转载 2021-05-11 12:20:50 · 327 阅读 · 0 评论 -
深度学习pytorch--线性回归(三)
线性回归pytorch框架实现线性回归的简洁实现生成数据集读取数据定义模型初始化模型参数定义损失函数定义优化算法训练模型小结完整代码:线性回归的简洁实现随着深度学习框架的发展,开发深度学习应用变得越来越便利。实践中,我们通常可以用比上一节更简洁的代码来实现同样的模型。在本节中,我们将介绍如何使用PyTorch更方便地实现线性回归的训练。生成数据集该部分和上一节一样。其中features是训练数据特征,labels是标签。#生成数据集以及计算grand-truth,和之前一样num_inputs=原创 2021-05-11 11:47:33 · 497 阅读 · 0 评论 -
深度学习pytorch--线性回归(二)
线性回归无框架实现线性回归的从零开始实现生成数据集(简单的人工构造)读取数据初始化模型参数定义模型定义损失函数定义优化算法训练模型小结线性回归的从零开始实现为了深入理解深度学习是如何工作的,本节不适用强大的深度学习框架,而是介绍如何只利用Tensor和autograd来实现一个线性回归的训练。首先,导入本节中实验所需的包或模块如下:import torchfrom matplotlib import pyplot as pltimport numpy as npimport random生原创 2021-05-09 22:14:55 · 450 阅读 · 1 评论 -
深度学习pytorch--线性回归(一)
线性回归线性回归案例提出问题模型定义模型训练(1) 训练数据(2) 损失函数(3) 优化算法模型预测线性回归的表示方法神经网络图矢量计算小结线性回归案例线性回归输出是一个连续值,因此适用于回归问题。回归问题在实际中很常见,如预测房屋价格、气温、销售额等连续值的问题。提出问题目标是预测一栋房子的售出价格,假设价格只取决于面积和房龄这两个因素。模型定义设房屋的面积为 x1x_1x1,房龄为 x2x_2x2,售出价格为 yyy。我们需要建立基于输入 x1x_1x1 和 x2x_2x2 来计算输原创 2021-05-09 20:45:02 · 460 阅读 · 0 评论 -
深度学习Pytorch--梯度与反向传播笔记
Pytorch梯度与反向传播相关概念导数偏导数方向导数梯度梯度下降法自动求梯度概念Tensor反向传播求梯度相关概念先来理解一下从导数到梯度的相关概念。导数一元函数中导数就是该函数所代表的曲线在这一点上的切线斜率。多元函数的导数可以称为全导数,可以得到无数条曲线,每条曲线都有一条切线,每条切线与一个全导数相互对应,全导数可以通过偏导数计算。偏导数多元函数中的概念,通俗地讲就是固定其他自变量所得到平面曲线的某一点的切线斜率。方向导数顾名思义,就是某一方向的导数。关于以上导数如果还不懂的原创 2021-05-09 18:23:38 · 1093 阅读 · 0 评论 -
Python中的符号
解释经常在python源码中看到的->和:等符号。标注关联到某个变量、类属性、函数形参或返回值的标签,被约定作为类型提示来使用。局部变量的标注在运行时不可访问,但全局变量、类属性和函数的标注会分别存放模块、类和函数的 __annotations __特殊属性中。类型提示标注为变量、类属性、函数的形参或返回值指定预期的类型。类型提示属于可选项,Python 不要求提供,但其可对静态类型分析工具起作用,并可协助 IDE 实现代码补全与重构。全局变量、类属性和函数的类型提示可以使用 typin原创 2021-03-27 12:23:47 · 844 阅读 · 0 评论 -
pytorch实现图像分类代码实例
图像多标签分类例子import osimport torchimport torch.nn as nnimport torchvision.transforms as transformsimport torchvision.datasets as datasetsimport torchvision.models as modelsimport matplotlib.pyplot as pltfrom matplotlib.ticker import MultipleLocatorfro原创 2020-12-04 23:25:46 · 4893 阅读 · 0 评论 -
Pytorch机器学习/深度学习代码笔记
DatasetDataset是一个抽象类,可以自定义数据集,为了能够方便的读取,需要将要使用的数据包装为Dataset类。自定义的Dataset需要继承它并且实现两个成员方法:1.getitem():该方法定义用索引(0到len(self))获取一条数据或一个样本。2.len()方法返回数据集的总长度。DataLoadDataLoad提供了对Dataset的读取操作,常用参数有:Dataset数据集实例,batch_size(每个batch的大小,shuffle(是否进行搅乱操作),num_wo原创 2020-12-03 21:05:12 · 1125 阅读 · 0 评论 -
pytorch数据处理的操作
一维通道的图片(256,256,1)转换为三维通道(256,256,3)可以采用下面方法:先将1.Tensor转换numpyx=torch.tensor([[1,2,3],[4,5,6]]) #T大写会显示小数点print(x)#结果:tensor([[1, 2, 3], [4, 5, 6]])print(x.shape) #torch.Size([2, 3])#张量x转换数组yy=x.numpy() print(y)#结果:[[1 2 3] [4 5 6]]pr原创 2020-11-09 22:46:34 · 1253 阅读 · 1 评论 -
Mobaxterm常用的指令(基于linux)
列出所有的环境(2种方法)conda env listconda info --envs创建虚拟环境(默认anaconda3/envs路径)conda create -n megumi python=3.8.5 #megumi为环境名称, #3.8.5是安装python的版本激活环境(2种方法)source activate 环境名conda activate 环境名退出环境source deactivate 环境名conda deactivate 环境名原创 2020-10-06 19:47:41 · 10500 阅读 · 1 评论 -
PyTorch中使用指定的GPU
PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU。有如下两种方法来指定需要使用的GPU。1.类似tensorflow指定GPU的方式,使用CUDA_VISIBLE_DEVICES。1.1 直接终端中设定:CUDA_VISIBLE_DEVICES=1 python my_script.py1.2 python代码中设定:import osos.environ["CUDA_VISIBLE_DEVICES"] = "2"见网址:http://www.cnbl转载 2020-10-19 16:10:09 · 1448 阅读 · 0 评论 -
深度学习基础实战使用MNIST数据集对图片分类
本文代码完全借鉴pytorch中文手册'''我们找到数据集,对数据做预处理,定义我们的模型,调整超参数,测试训练,再通过训练结果对超参数进行调整或者对模型进行调整。'''import torchimport torch.nn as nnimport torch.nn.functional as F import torch.optim as optim #实现各种优化算法的库from torchvision import datasets,transformsBATCH_SIZE=512原创 2020-10-09 16:12:21 · 563 阅读 · 0 评论