Pytorch安装入门 左手的ㄟ右手 2022-02-28 02:50 281阅读 0赞 **一、什么是Pytorch** Pytorch的官网:https://pytorch.org/ PyTorch是一个较新的深度学习框架。从名字可以看出,其和Torch不同之处在于PyTorch使用了Python作为开发语言,所谓“Python first”。一方面,使用者可以将其作为加入了GPU支持的numpy,另一方面,PyTorch也是强大的深度学习框架。 **二、Pytorch与TensorFlow对比** <table> <thead> <tr> <th>各个方面</th> <th>Pytorch</th> <th>TensorFlow</th> </tr> </thead> <tbody> <tr> <td>上手</td> <td>PyTorch本质上是Numpy的替代者,而且支持GPU、带有高级功能,可以用来搭建和训练深度神经网络。如果你熟悉Numpy、Python以及常见的深度学习概念(卷积层、循环层、SGD等),会非常容易上手PyTorch</td> <td>TensorFlow可以看成是一个嵌入Python的编程语言。你写的TensorFlow代码会被Python编译成一张图,然后由TensorFlow执行引擎运行。我见过好多新手,因为这个增加的间接层而困扰。也正是因为同样的原因,TensorFlow有一些额外的概念需要学习,例如会话、图、变量作用域(variable scoping)、占位符等</td> </tr> <tr> <td>图创建和调试</td> <td>PyTorch中简单的图结构更容易理解,更重要的是,还更容易调试。调试PyTorch代码就像调试Python代码一样。你可以使用pdb并在任何地方设置断点</td> <td>调试TensorFlow代码可不容易。要么得从会话请求要检查的变量,要么学会使用TensorFlow的调试器(tfdbg)</td> </tr> <tr> <td>全面性</td> <td>PyTorch不支持的功能。它们是有沿维翻转张量(np.flip, np.flipud, np.fliplr)检查无穷与非数值张量(np.is_nan, np.is_inf)快速傅里叶变换(np.fft)</td> <td>这些TensorFlow都支持。另外,TensorFlow的contrib软件包中,有更多PyTorch没有的高级功能和模型</td> </tr> <tr> <td>序列化</td> <td>PyTorch有一个特别简单的API,可以保存模型的所有权重或pickle整个类</td> <td>TensorFlow序列化的主要优点是可以将整个图保存为protocol buffer。包括参数和操作。然而图还能被加载进其他支持的语言(C++、Java)</td> </tr> <tr> <td>部署</td> <td>yTorch的一个非常大的劣势就是没有办法很方便地部署模型,facebook和Microsoft一起搞了一个神经交换机,ONNX,可以将pytorch model转换到Caffe2 model,这样一是麻烦,二是Caffe2目前还在测试,一堆bug,用的人也不多,三是还要多学一个框架Caffe2</td> <td>对于小规模的服务器端部署(例如一个Flask web server),两个框架都很简单。对于移动端和嵌入式部署,TensorFlow更好。不只是比PyTorch好,比大多数深度学习框架都要要。使用TensorFlow,部署在Android或iOS平台时只需要很小的工作量,至少不必用Java或者C++重写模型的推断部分</td> </tr> <tr> <td>数据加载</td> <td>PyTorch中用于加载数据的API设计的很棒。接口由一个数据集、一个取样器和一个数据加载器构成。数据加载器根据取样器的计划,基于数据集产生一个迭代器。并行化数据加载简单的就像把num_workers参数传递给数据加载器一样简单。</td> <td>TensorFlow中没有发现特别有用的数据加载工具。很多时候,并不总能直接把准备并行运行的预处理代码加入TensorFlow图。以及API本身冗长难学</td> </tr> <tr> <td>设备管理</td> <td>PyTorch中,即使启用了CUDA,你也需要明确把一切移入设备。</td> <td>TensorFlow的设备管理非常好用。通常你不需要进行调整,因为默认的设置就很好。例如,TensorFlow会假设你想运行在GPU上(如果有的话)</td> </tr> <tr> <td>自定义扩展</td> <td>PyTorch中,你只需为每个CPU和GPU编写一个接口和相应的实现。两个框架中编译扩展也是直接记性,并不需要在pip安装的内容之外下载任何头文件或者源代码。</td> <td>两个框架都可以构建和绑定用C、C++、CUDA编写的自定义扩展。TensorFlow仍然需要更多的样板代码,尽管这对于支持多类型和设备可能更好</td> </tr> </tbody> </table> **三、安装部署Pytorch** Pytorch官网给出了安装方式 先安装anaconda下载安装地址: https://www.anaconda.com/distribution/\#download-section ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70] 1.如果知道CUDA版本号? liunx 查看 CUDA 版本: cat /usr/local/cuda/version.txt 查看 CUDNN 版本: cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 windows win+R 或者cmd nvcc --version nvcc -v 或者 进入文件路径 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA 如果没有找到需要下载cuda-toolkit 下载地址:https://developer.nvidia.com/cuda-toolkit ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70 1] 前提必须安装的python的环境、然后拷贝命令进行安装。 conda install pytorch torchvision cudatoolkit=10.0 -c pytorch ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70 2] torchvision安装、输入cmd conda install torchvision -c pytorch 报错: “python setup.py egg\_info” failed with error code 1 in C:\\Users\\nick\\AppData\\Local\\Temp\\pip-install-o\_fy6mnh\\torch\\ pip3 install --no-deps torchvision ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70 3] 验证: 验证pytorch是否安装成功,在终端输入: python 此时进入python环境。然后,继续输入 import torch import torchvision ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70 4] 参考:https://zhuanlan.zhihu.com/p/28636490 参考:https://blog.csdn.net/sunqiande88/article/details/80085569 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70]: /images/20220228/b89887e184d147609ff5705121216eaf.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70 1]: /images/20220228/d1d2891fd5cd4350bf3ab46f154dd074.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70 2]: /images/20220228/8ac389474ed545a99a8aec2e7b556874.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70 3]: /images/20220228/17c2a8af6edb4516b4fe4e45d6b9243d.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDQ3MzAx_size_16_color_FFFFFF_t_70 4]: /images/20220228/656e65c2f655409190e99c45d8481ea9.png
还没有评论,来说两句吧...