学习Pytorch遇到的一些问题(一)
基本介绍
这周开始学习深度学习的部分知识,参考的书是《动手学深度学习》(PyTorch版),在操作过程中遇到一些小问题,记录一下问题和解决办法。
PyTorch下载过慢
安装步骤
PyTorch的安装步骤相对简单,首先打开它的官网,找到下图所示的内容。第一行是选择版本,第二行是选择要在什么系统上安装,第三行如果是用Anaconda的话选Conda就可以,第四行是选择开发语言,第五行是选择CUDA的版本,这些都选好之后,会在第六行出现代码,这行代码就是用来安装的。复制这行代码,打开Anaconda的命令行,粘贴,回车就可以了。
安装过慢
在安装过程中,我发现下载十分缓慢,查找了一下资料发现是下载源的问题。解决方法如下。
添加清华镜像源。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
删掉下载代码中的
-c pytorch
,因为这个是指定从官网下载。只添加清华源,不删除的话这两个指令的话仍然会从官网下载。即,需要执行下面的代码、conda install pytorch torchvision cudatoolkit=10.2
安装了CUDA但是无法使用GPU计算
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 我在PyTorch官网进行选择下载的时候选择的时候选择了CUDA 10.2,可是安装之后仍然无法使用GPU进行计算。
检查时候可以使用GPU进行计算。可以在Jupyter里(或者新建一个py文件)运行下面两行代码,看一下输出。
import torch
print(torch.cuda.is_available())
如果输出
True
,那么没任何问题;如果是False
,可能是显卡的驱动需要更新一下。Windows系统,直接去NVIDIA官网下载适合自己的显卡驱动,然后一路Next安装就可以了。如果是Manjaro(Linux)系统,请参考我的另一篇博客。
缺少d2lzh_pytorch库和FashionMNIST数据集下载错误
缺少d2lzh_pytorch库
d2lzh_pytorch这个库好像是本书的作者自建的,里面包含一些书本例程的函数。可以去这本书的github主页把整个项目下载下来,在code文件夹里有这个库。如果网速过慢,可以从下面这个链接下载。百度网盘:
链接:https://pan.baidu.com/s/1fcJrUishw6o2WdzGWTMP6w
提取码:qdug
下载之后,将它放在Anaconda安装目录的Lib文件夹里就可以了。
继续运行可能会出现缺少torchtext
这个库。可以在Anaconda的命令行里执行以下命令。
pip install torchtext
FashionMNIST数据集下载错误
用到的FashionMNIST数据集有四个,前三个没有问题,在导入第四个的时候,出现了大意为“连接XXX时出现了连接错误”之类的错误,不清楚原因。解决步骤如下:
去这个网站下载对应的数据集。打开该网页往下翻,在Get the Data部分有四个数据集及基本基本情况介绍,点击Download即可。
将下载下来的数据集放到对应文件夹下。有两种方式可以查看应放的位置。
根据之前导入的错误信息确定位置。错误信息中会出现“将A文件从B网站下载到C位置的时候XXX”。
根据导入数据集时使用的命令确定。比如,使用以下代码导入,则目标位置是“User”目录下的Datasets文件夹中的FashionMNIST文件夹。
mnist_train = torchvision.datasets.FashionMNIST(root='~/Datasets/FashionMNIST', train=True, download=True, transform=transforms.ToTensor())
最新文章
- jquery的curCSS方法
- redhat openshift 跳转
- Play Framework 第一个应用
- 地理围栏算法解析(Geo-fencing)
- android JSON 技术
- document.body为null的问题
- 错误:[将截断字符串或二进制数据。\r\n语句已终止。]
- 【HTTP】全面比较HTTP GET与POST方法
- plot的实践。
- sql问题
- iOS AVCaptureDevice的一些动西
- drupal7的node的内容的存储位置
- shader程序员需要注意的优化Tips
- 获取subgrid中的数据并修改,含添加刷新列表的事件
- springboot项目利用Swagger2生成在线接口文档
- Luogu P3305 [SDOI2013]费用流 二分 网络流
- python 前后端分离 简单的数据库返回接口
- 4513: [Sdoi2016]储能表 数位DP
- python 内置函数enumerate()
- mysql03
热门文章
- 面向开发者的Docker实践
- 王颖奇 201771010129 《面向对象程序设计(java)》第二周学习总结
- Exception in thread ";main"; java.lang.NoSuchMethodError: scala.Predef$.wrapRefArray([Ljava/lang/Object;)Lscala/collection/mutable/WrappedArray
- 内网穿透访问Vue项目的时候出现Invalid Host header解决办法
- AOP行为日志
- Date工具遇到的一个坑
- Crash-fix-1:PhoneWindow$DecorView{29b8ae38 V.E..... R.....I. 0,0-1160,607} not attached to window ma
- Python-实现sign签名接口校
- Java IO流基础总结
- 面试最后HR都要问一句";有没有什么问题要问我";?