您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > Pytorch第一讲
入门第一讲车明佳一.深度学习框架一.深度学习框架截止2017年10月Github深度学习框架榜单fromKeras作者、Google深度学习研究院FrançoisChollet一.深度学习框架•体验感受:Tensorflow:Google,更新快,发明轮子,翻墙,tf.Session().runMXNet:亚马逊,R(支持多语言),GluonKeras:高层,后端,中文文档PyTorch:Facebook,动态图,灵活一.深度学习框架•PyTorch更有利于研究人员、爱好者、小规模项目等快速搞出原型。•而TensorFlow更适合大规模部署,特别是需要跨平台和嵌入式部署时。二.PyTorch安装LinuxOSXWin参照官网根据需求选择代码安装系统参照用conda安装二.PyTorch安装——以Win为例【说明】Win安装非官方,由个人编译,可能存在不稳定情况(即可能无法及时更新与维护),目前版本为0.2。【准备工作】•Anaconda3(withPython3.6.1)•Windows64位系统(Windows7或WindowsServer2008及以上)•CUDA8.0.61(包中已内置,因此老版本也能用)•cuDNNv5以上(包中已经自带了v6,cuDNNv5用户亦可放心使用)注:只是带了部分的CUDA和cuDNN库,而且是局部的,仅供PyTorch自身使用。所以这里建议有GPU加速需求且满足硬件要求的同学自己安装CUDA和cuDNN,也可在安装其他深度学习框架时节省大量时间。非必需用于GPU加速二.PyTorch安装——以Win为例【GPU加速相关】1.请先在这里确认你的显卡支持CUDA。(ComputeCapability=2.0)2.如果以上条件符合,那么可以开始从各自官网下载CUDA8.0和cuDNNV6.0的安装包。二.PyTorch安装——以Win为例•cuDNN是一个常见的神经网络层加速库文件,其能够很大程度的把加载到显卡上的网络层数据进行优化计算。•CUDA就像一个傻大粗的加速库,其主要是依靠的是显卡计算速度跟一些算法的优化,而且其也是进行显卡加速的入口。•所以cuDNN需要在有CUDA的基础上进行。二.PyTorch安装——以Win为例•CUDA:【安装方法】双击执行安装程序,安装后会自动添加系统变量。【测试安装是否成功】在CMD中输入“nvcc-V”。二.PyTorch安装——以Win为例•cuDNN:(需要注册)【安装方法】解压后的另一个压缩文件继续解压,放到任何一个目录下(此处为D:\cuda),然后把所放的那个目录添加到Path环境变量里。将下面这些文件复制到相应位置:D:\cuda\bin\cudnn64_6.dll—C:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v8.0\binD:\cuda\include\cudnn.h—C:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v8.0\includeD:\cuda\lib\x64\cudnn.lib—C:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v8.0\lib\x64二.PyTorch安装——以Win为例【安装方法】#forWindows10andWindowsServer2016condainstall-cpeterjc123pytorch#forWindows7/8/8.1andWindowsServer2008/2012condainstall-cpeterjc123pytorch_legacy•不能忍受conda蜗牛爬般的网速的话,两个方法解决1)换源(推荐)参考即可添加AnacondaPython免费仓库。2)百度云下载从=%2F根据需要进行下载,文件名为”NT内核版本-pytorch版本-python版本cu80.tar.bz”二.PyTorch安装——以Win为例【测试安装成功】——进入python后#CUDATESTimporttorchx=torch.Tensor([1.0])xx=x.cuda()print(xx)#CUDNNTESTfromtorch.backendsimportcudnnprint(cudnn.is_acceptable(xx))【安装torchvision】condainstalltorchvision-csoumith或者pipinstalltorchvision三.PyTorch基础1.Tensor张量与numpy的ndarray(多维数组)类似,还可以使用GPU加速计算。标量是零维的张量,向量是一维的张量,矩阵是二维的张量……除此之外,张量还可以是四维的、五维的。三.PyTorch基础2.自动求导三.PyTorch基础2.自动求导Variable是tensor的外包装-data属性存储数据-grad属性存储关于该变量的导数-creator代表该变量的创造者三.PyTorch基础2.自动求导creator为null的变量才能被返回导数,比如input,若把整个操作流看成是一张图(Graph),那么像input这种creator为null的被称之为图的叶子(graphleaf)。而creator非null的变量比如output1和output2,是不能被返回导数的,它们的grad均为None。所以只有叶子节点才能被autograd。三.PyTorch基础3.神经网络使用torch.nn包中的工具来构建神经网络,构建一个神经网络需要以下几步:•定义神经网络的权重,搭建网络结构•遍历整个数据集进行训练-将数据输入神经网络-计算loss正向传播-计算网络权重的梯度反向传播-更新网络权重weight=weight-learning_rate*gradient
本文标题:Pytorch第一讲
链接地址:https://www.777doc.com/doc-7250661 .html