基本介绍

这周开始学习深度学习的部分知识,参考的书是《动手学深度学习》(PyTorch版),在操作过程中遇到一些小问题,记录一下问题和解决办法。

PyTorch下载过慢

安装步骤

PyTorch的安装步骤相对简单,首先打开它的官网,找到下图所示的内容。第一行是选择版本,第二行是选择要在什么系统上安装,第三行如果是用Anaconda的话选Conda就可以,第四行是选择开发语言,第五行是选择CUDA的版本,这些都选好之后,会在第六行出现代码,这行代码就是用来安装的。复制这行代码,打开Anaconda的命令行,粘贴,回车就可以了。

安装过慢

在安装过程中,我发现下载十分缓慢,查找了一下资料发现是下载源的问题。解决方法如下。

  1. 添加清华镜像源。

    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/
  2. 删掉下载代码中的-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进行计算。

  1. 检查时候可以使用GPU进行计算。可以在Jupyter里(或者新建一个py文件)运行下面两行代码,看一下输出。

    import torch
    print(torch.cuda.is_available())

    如果输出True,那么没任何问题;如果是False,可能是显卡的驱动需要更新一下。

  2. 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时出现了连接错误”之类的错误,不清楚原因。解决步骤如下:

  1. 这个网站下载对应的数据集。打开该网页往下翻,在Get the Data部分有四个数据集及基本基本情况介绍,点击Download即可。

  2. 将下载下来的数据集放到对应文件夹下。有两种方式可以查看应放的位置。

    • 根据之前导入的错误信息确定位置。错误信息中会出现“将A文件从B网站下载到C位置的时候XXX”。

    • 根据导入数据集时使用的命令确定。比如,使用以下代码导入,则目标位置是“User”目录下的Datasets文件夹中的FashionMNIST文件夹。

      mnist_train = torchvision.datasets.FashionMNIST(root='~/Datasets/FashionMNIST', train=True, download=True, transform=transforms.ToTensor())

学习Pytorch遇到的一些问题(一)的更多相关文章

  1. [深度学习] Pytorch(三)—— 多/单GPU、CPU,训练保存、加载模型参数问题

    [深度学习] Pytorch(三)-- 多/单GPU.CPU,训练保存.加载预测模型问题 上一篇实践学习中,遇到了在多/单个GPU.GPU与CPU的不同环境下训练保存.加载使用使用模型的问题,如果保存 ...

  2. [深度学习] Pytorch学习(一)—— torch tensor

    [深度学习] Pytorch学习(一)-- torch tensor 学习笔记 . 记录 分享 . 学习的代码环境:python3.6 torch1.3 vscode+jupyter扩展 #%% im ...

  3. 001-深度学习Pytorch环境搭建(Anaconda , PyCharm导入)

    001-深度学习Pytorch环境搭建(Anaconda , PyCharm导入) 在开始搭建之前我们先说一下本次主要安装的东西有哪些. anaconda 3:第三方包管理软件. 这个玩意可以看作是一 ...

  4. 深度学习PyTorch环境安装——mac

    参考:http://python.jobbole.com/87522/ 1.首先要安装Anaconda 1)什么是Anaconda Anaconda是Python的包管理器和环境管理器,是一个包含18 ...

  5. 动手学习Pytorch(6)--卷积神经网络基础

    卷积神经网络基础 本节我们介绍卷积神经网络的基础概念,主要是卷积层和池化层,并解释填充.步幅.输入通道和输出通道的含义.   二维卷积层 本节介绍的是最常见的二维卷积层,常用于处理图像数据.   二维 ...

  6. 动手学习Pytorch(4)--过拟合欠拟合及其解决方案

    过拟合.欠拟合及其解决方案 过拟合.欠拟合的概念 权重衰减 丢弃法   模型选择.过拟合和欠拟合 训练误差和泛化误差 在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差 ...

  7. 动手学习pytorch——(1)线性回归

    最近参加了伯禹教育的动手学习深度学习项目,现在对第一章(线性回归)部分进行一个总结. 这里从线性回归模型之从零开始的实现和使用pytorch的简洁两个部分进行总结. 损失函数,选取平方函数来评估误差, ...

  8. [PyTorch入门]之从示例中学习PyTorch

    Learning PyTorch with examples 来自这里. 本教程通过自包含的示例来介绍PyTorch的基本概念. PyTorch的核心是两个主要功能: 可在GPU上运行的,类似于num ...

  9. 小白如何学习PyTorch】25 Keras的API详解(下)缓存激活,内存输出,并发解决

    [新闻]:机器学习炼丹术的粉丝的人工智能交流群已经建立,目前有目标检测.医学图像.时间序列等多个目标为技术学习的分群和水群唠嗑答疑解惑的总群,欢迎大家加炼丹兄为好友,加入炼丹协会.微信:cyx6450 ...

随机推荐

  1. Jmeter-接口测试参数化后循环断言不同内容的方法

    前言 各位小伙伴在做接口自动化有没遇到过这样的问题,CSV文件参数化测试数据后,只能通过人工的的方法去查看结果,不懂写代码去循环断言返回的结果.今天我们来学习一下,不用写代码,就用响应断言,怎么实现循 ...

  2. JavaScript 浅析数组对象与类数组对象

    数组(Array对象) 数组的操作 创建数组方法 添加与修改数组元素 删除数组元素 使用数组元素 遍历数组元素 多维数组 数组相关的函数 concat() join() pop() push() sh ...

  3. Numpy-np.random.normal()正态分布

    X ~ :随机变量X的取值和其对应的概率值P(X = ) 满足正态分布(高斯函数) 很多随机现象可以用正态分布描述或者近似描述 某些概率分布可以用正态分布近似计算 正态分布(又称高斯分布)的概率密度函 ...

  4. 【HBase】快速搞定HBase与Hive的对比、整合

    目录 对比 整合 需求一 步骤 一.将HBase的五个jar包拷贝到Hive的lib目录下 二.修改hive的配置文件 三.在Hive中建表 四.创建hive管理表与HBase映射 五.在HBase中 ...

  5. 【FreeRTOS实战汇总】小白博主的RTOS学习实战快速进阶之路(持续更新)

    博主是个小白,打算把这段时间系统学习RTOS的文章统一整理到这里,另外本文会给出一些参考性资料和指导性建议: 本文宗旨 FreeRTOS 是由Richard Barry在2003年由设计的,由于其设计 ...

  6. [c++ IO加速]快速输入输出

    自己封装的FastIO类,效率虽有所损失,不过实用性提高很多. 测试,写10000000个整数(86M): printf 2.7s cout 27s FastIO 1s 测试,读10000000个整数 ...

  7. [hdu5247]rmq+预处理

    题意:有一个无序数组,求有多少个长度为k的区间满足把区间内的数排序后是连续的. 思路:长度为k的区间排序后是 连续的数等价于maxval-minval等于k-1并且不同的数有k个(或者说没有相同的数) ...

  8. [zoj3632]线段树的应用

    题意:f[i] = min(f[i+L]~f[i+R]) + x,计算f数组.从大到小计算即可,用线段树维护一下. #pragma comment(linker, "/STACK:10240 ...

  9. 移动端网站开发要点-meta设置

    <!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html lang="zh-cmn-Hans"&g ...

  10. xilinx VDMA IP核使用

    VDMA实用配置说明 VDMA是通过AXI Stream协议对视频数据在PS与PL端进行搬运,开发者无需关注AXI Stream协议,在BlockDesign设计中只需要把相应信号进行连接即可. VD ...