PyTorch
文章平均质量分 59
PyTorch
花里梦雨
心之所向,素履以往。
展开
-
PyTorch——开发环境安装(win10:CPU+GPU版本)
文章目录开发环境:Python 3.7 + Anaconda 5.3.1CUDA 10.0Pycharm Community1.首先到官网下载Anaconda2.然后安装原创 2020-05-28 18:22:44 · 1159 阅读 · 0 评论 -
RuntimeError: Expected object of backend CPU but got backend CUDA for argument #2 ‘mat2‘
PyTorch代码调试利器TorchSnooper: 自动print每行代码的Tensor信息 用于 PyTorch 代码的实用工具 TorchSnooper。作者是TorchSnooper的作者,也是PyTorch开发者之一。 GitHub 项目地址: https://github.com/zasdfgbnm/TorchSnooper 大家可能遇到这样子的困扰:比如说运行自己编写的 PyTo...转载 2021-07-20 10:32:32 · 1488 阅读 · 0 评论 -
2021-06-02
最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进行补充,但是补充的又是错的,难怪觉得有问题。反向传播法其实是神经网络的基础了,但是很多人在学的时候总是会遇到一些问题,或者看到大篇的公式觉得好像很难就退缩了,其实不难,就是一个链式求导法则反复用。如果不想看公式,可以直接把数值带进去,实际的计算一下,体会一下这个过程之后...转载 2021-06-02 11:45:45 · 237 阅读 · 0 评论 -
argparse 使用
最近跑一个程序,发现argparse还挺有意思,有点类似linux里边的ls使用argparse 配置命令行参数时,需要三步:创建 ArgumentParser() 对象调用 add_argument() 方法添加参数,使用 parse_args() 解析添加的参数举个简单的例子,实现平方数计算,定义为try.py:import argparseparser = argparse.ArgumentParser()parser.add_argument("--square",help="S原创 2021-01-04 11:34:37 · 359 阅读 · 0 评论 -
使用压缩自编码实现手写数字识别
import osimport argparseimport torchimport torch.utils.dataimport torch.nn as nnimport torch.optim as optimfrom torch.autograd import Variablefrom torchvision import datasets, transforms# import pdbimport matplotlibmatplotlib.use('Agg')import ma原创 2020-12-14 23:04:39 · 289 阅读 · 1 评论 -
镜像源永远滴神
pip install -i https://pypi.douban.com/simple xxxx原创 2020-12-04 22:52:33 · 264 阅读 · 0 评论 -
pytorch实现逻辑回归模型训练
import torchimport torch.nn as nnimport torch.optim as optimfrom torchvision import transforms, datasets# from torch.autograd import Variabledevice = torch.device('cuda' if torch.cuda.is_available() else 'cpu')batchsz = 50input_size = 784num_clas原创 2020-11-03 16:34:09 · 767 阅读 · 0 评论 -
pytorch实现线性回归函数
import torchimport osimport numpy as npimport matplotlib.pyplot as plt from torch import nn, optimos.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"# device = torch.device("cuda:0" if torch.cuda.is_available() else "CPU")device = torch.device("cuda:0" if t原创 2020-11-02 23:07:16 · 457 阅读 · 0 评论 -
用pytorch进行卷积神经网络的训练
实验室这两天的网太差了,数据集根本下载不下来,先存着,等网好了再测试一下程序。网络结构在这篇博客里——pytorch创建卷积神经网络import torch from torchvision import datasetsfrom torchvision import transformsfrom torch.utils.data import DataLoaderfrom torch import nn, optimfrom lenet5 import Lenet5原创 2020-10-28 11:30:36 · 1316 阅读 · 0 评论 -
pytorch下载CIFAR10数据集
import torch from torchvision import datasetsfrom torchvision import transformsfrom torch.utils.data import DataLoaderdef main(): batchsz = 32 cifar_train = datasets.CIFAR10('cifar', True, transform=transforms.Compose([ transforms.Re原创 2020-10-26 22:30:38 · 3905 阅读 · 1 评论 -
pytorch创建卷积神经网络
import torchfrom torch import nnfrom torch.nn import functional as Fclass Lenet5(nn.Module): ''' for cifar10 dataset ''' def __init__(self): super(Lenet5,self).__init__() self.conv_unit = nn.Sequential( # x:原创 2020-10-26 22:28:41 · 398 阅读 · 0 评论 -
两文读懂PyTorch中Dataset与DataLoader理解DataLoader源码
真滴不错。存一下。两文读懂PyTorch中Dataset与DataLoader(一)打造自己的数据集 - Chenllliang的文章 - 知乎https://zhuanlan.zhihu.com/p/105507334两文读懂PyTorch中Dataset与DataLoader(二)理解DataLoader源码 - Chenllliang的文章 - 知乎https://zhuanlan.zhihu.com/p/105578087...原创 2020-10-22 15:36:08 · 501 阅读 · 0 评论 -
关于卷积神经网络基础知识复习
1.两种创建一层卷积方法第一种:import torchimport torch.nn as nnlayer = nn.Conv2d(1,3,kernel_size=3,stride=2,padding=1)x = torch.rand(1,1,28,28)out = layer.forward(x) # 不建议用out_put = layer(x) #__call__import pdb;pdb.set_trace()测试:(Pdb) out.shapetorch.Size([1原创 2020-10-19 22:42:13 · 220 阅读 · 2 评论 -
No module named ‘cv2‘问题解决方法——亲试好用
根据你python的版本,自己下载与python版本对应的opencv-python,官网传送门——https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python/这是我的文件名:opencv_python-3.1.0.5-cp36-cp36m-win_amd64.whl把它按以下路径保存:C:\Users\3511\anaconda3\Lib\site-packages打开Anaconda Prompt,如下图:键入:pip install o.原创 2020-10-06 10:00:17 · 107291 阅读 · 31 评论 -
过拟合与欠拟合
文章目录1. 什么是过拟合与欠拟合欠拟合(underfitting):过拟合(overfitting):2. 如何验证overfitting3.如何避免overfitting①more data②constraint model complexity③dropout④data argumentation⑤early stooping1. 什么是过拟合与欠拟合欠拟合(underfitting):模型的表达能力 < 真实的复杂度,train acc.(train loss) 和 test acc.(原创 2020-08-20 10:51:52 · 1781 阅读 · 0 评论 -
如何解决PyTorch中的No module named ‘pytorch_colors‘问题
下载地址:https://pypi.org/project/ez_setup/#filespip install --target=/pytnon_list/zero_reference/ez_setup-0.9 setuptools原创 2020-08-14 22:23:20 · 3849 阅读 · 16 评论 -
visdom——数据可视化
目录1. 安装visdom1. 安装visdomwin+R打开运行,键入:pip install visdom打开使用,键入:python -m visdom.server然后我电脑直接报错就打不开visdom,然后我尝试键入:visdom成功打开把生成的网页 http://localhost:8097复制到浏览器上打开,会出现一个蓝色的屏。运行代码:import torchimport torch.nn as nnimport torch.nn.functional a原创 2020-07-06 23:41:43 · 487 阅读 · 0 评论 -
交叉熵+全连接层的构建
1. 求熵import torchdef Entropy(x): y = -(x * torch.log2(x)).sum() return ya = torch.full([4],1/4)b = torch.tensor([0.1, 0.1, 0.1, 0.7])c = torch.tensor([0.001, 0.001, 0.001, 0.999])if __name__ == "__main__": y1 = Entropy(a) y2 = Entr原创 2020-07-03 23:34:59 · 275 阅读 · 0 评论 -
2D函数最小值优化
import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dimport torchdef himmelblau(x): return (x[0] ** 2 + x[1] - 11) ** 2 + (x[0] + x[1] ** 2 -7) ** 2x = np.arange(-6,6,0.1)y = np.arange(-6,6,0.1)print('x,y ran原创 2020-07-03 22:33:47 · 3384 阅读 · 0 评论 -
卷积神经网络+用pytorch构建神经网络
从零开始写一个神经网络,通常的方法是:定义网络结构指定输出层、隐藏层、输出层大小初始模型参数循环操作执行前向传播、计算损失、执行后向传输、权值更新1. 神经网络1.1 神经网络是怎么工作的?首先神经网络的结构包括三个层次:输入层、隐藏层和输出层。如下图所示:其中每个圆圈代表一个神经元,输入层和隐藏层之间有很多箭头相连接,每个连接都有一个权值,同层的神经元没有连接,通常神经网络都是全l连接的,也就是所有层都相互有链接且中间没有断层。第一层有4个输入结点,每个输入节点分别对应五个权值,原创 2020-06-27 23:38:20 · 10642 阅读 · 5 评论 -
matplotlib——pyplot使用简介
matplotlib——pyplot使用简介 matplotlib.pyplot是一个有命令风格的函数集合,它看起来和MATLAB很相似。每一个pyplot函数都使一副图像做出些许改变,例如创建一幅图,在图中创建一个绘图区域,在绘图区域中添加一条线等等。在matplotlib.pyplot中,各种状态通过函数调用保存起来,以便于可以随时跟踪像当前图像和绘图区域这样的东西。绘图函数是直接作用于当前...转载 2020-06-21 21:18:14 · 721 阅读 · 0 评论 -
Pytorch中的梯度问题汇总
目录1.梯度定义2.极小值3.常见函数的梯度3.激活函数(1) 定义(2) sigmoid函数(3) Tanh函数(4) ReLU4. loss及其梯度(1) MSE(2) cross entropy loss1.梯度定义函数的梯度是一个向量,这个向量的方向代表这个函数在当前点的增长的方向,向量的模表示这个向量在当前这个点增长的速率。2.极小值求最小值经常遇到两种情况比较麻烦,一种是局部极小值,另一种是鞍点。3.常见函数的梯度比如给出一个函数y=xw+b,其中w,b都是自变量对w的偏微分原创 2020-06-19 11:45:32 · 1658 阅读 · 0 评论 -
Pytorch——高阶操作op
where和gather原创 2020-06-18 23:25:59 · 545 阅读 · 0 评论 -
Tensor——属性统计
statistics原创 2020-06-17 11:57:18 · 474 阅读 · 0 评论 -
Tensor——基本运算
收工睡觉~~~原创 2020-06-16 23:22:28 · 4171 阅读 · 0 评论 -
Tensor——拼接与拆分
文章目录1. 拼接(1). cat(2). stack2. 拆分(1). split(2). chunk1. 拼接(1). cat注意要指出在哪个维度上进行拼接:>>> import torch>>> a = torch.rand(4,32,8)>>> b = torch.rand(5,32,8)>>> torch.cat([a,b],dim=0).shapetorch.Size([9, 32, 8])且除了要拼接的原创 2020-06-16 21:34:08 · 4525 阅读 · 1 评论 -
Pytorch——维度变换
这节东西有点多,整理的时间久了点。完工,睡觉~~~原创 2020-06-14 23:03:08 · 2337 阅读 · 0 评论 -
Tensor——索引和切片
Indexingdim 0 firstselect first/last N(连续索引)select by steps(有间隔索引)select by specific indexindex_select(dim,index)…select by mask(掩码)select by indexdim 0 first>>> import torch>>> a = torch.rand(4,3,28,28)>>> a[0].shapetorch.S原创 2020-06-11 11:34:45 · 1035 阅读 · 0 评论 -
创建Tensor
目录Inport from numpyImport from listuninitialized(生成未初始化的数据)Torch.emptyTorch.FloatTensor(d1,d2,d3)Torch.IntTensor(d1,d2,d3)set default type随机初始化randrand_likerandintInport from numpyimport numpy as npimport torcha = np.array([2,3.3])b = np.ones([2,3])原创 2020-06-10 19:59:20 · 785 阅读 · 0 评论 -
PyTorch——数据类型
Type check:首先生成随机a数组a = torch.randn(2,3)然后来检测a的类型有三种方法:①import torcha = torch.randn(2,3)print(a.type())运行结果:PS E:\Python_code> & F:/Anaconda/envs/pytorch/python.exe e:/Python_code/type.pytorch.FloatTensor②import torcha = torch.randn(2,原创 2020-06-01 23:54:22 · 214 阅读 · 0 评论 -
线性回归——梯度下降算法
梯度下降算法:求极小值设一个方程为 y=wx+b+e 其中e为高斯噪声,范围是(0.01,1)x*=x-Δx·learing_rate在这个公式中,x为当前x的值,Δx为关于x的导数loss=(wx+b-y)^2loss是大于等于0的,当取等号时,y近似等于wx+b,且loss为极小值梯度下降算法采用求平方和极小值的方法,进行数据拟合代码如下:import numpy as up#y = wx + bdef compute_error_for_line_given_points(b,原创 2020-05-31 16:32:29 · 1227 阅读 · 0 评论