使用pytorch时所遇到的问题总结

1、ubuntu vscode切换虚拟环境

  在ubuntu系统上,配置工作区文件夹所使用的虚拟环境。之前笔者误以为只需要在vscode内置的终端上将虚拟环境切换过来即可,后来发现得通过配置vscode的解释器(interpreter)具体方法如下:

  选中需要配置的文件夹,然后点击vscode左下角的写有“Python ***”的位置(或者使用快捷键“ctrl+shift+p”)--》选择文件夹--》从解释器列表中选择要用的解释器。完成设置后,会在文件夹下面多出一个名为“.vscode”的文件夹,其中会多出一个名为“settings.json”的文件,经过设置后该文件内会多出一个条目来指向虚拟环境中的python的路径,例如:python.pythonPath:"/home/lh/anaconda3/envs/pytorch/bin/python"。

2、使用DataLoader时报错:raise RuntimeError('already started')

  出错位置在使用DataLoader时,将参数“num_workers”设置为大于0的值了,推测原因是没有打开多线程功能,解决方法为将num_workers设置为0。

3、pytorch中使用TensorBoard

  问题(1): Import Error:TensorBoard logging requires TensorBoard with Python summary writer installed

  这是由于当前的环境中没有安装TensorBoard。如果电脑上安装有anaconda,那么直接使用命令“conda install tensorboard”即可。

  问题(2):调出tensorboard界面

  当在程序中调用SummaryWriter之后,在控制台中会给出如下信息:

  其中需要注意的是“--port 41889”。然后我们在控制台中输入命令“tensorboard --logdir='log' --port=41889”,--logdir用来指向之前所指定的日志目录,--port就是之前控制台中给出的端口号。输入指令后,控制台中会给出一个网址,打开该网址就可以在浏览器中打开tensorboard界面了。

4、pytorch使用dataloader时,报出“TypeError:default_collect:batch must contain tensors, numpy arrays, numbers,dicts or lists; found <class 'PIL.Image.Image'>”

  这是因为在创建torchvision.Dataset对象的时候没有将数据库内的图像转为torch张量,在创建数据库对象的时候将参数transform进行如下设置就可以了:transform=transform.ToTensor()。

5、RuntimeError:Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same

  这是由于传入模型的数据是放在CPU内存中的,而模型本身被放置在GPU内存中了。因此只需要将输入的数据放置到GPU内存中就可以解决问该问题了。

6、pytorch,同名函数后面加一个'_',例如:'clamp()'与'clamp_()'

  一般来说,如果函数后带了一个下划线,就意味着在改变当前张量的值的同时返回一个修改后的副本;如果不带下划线,那么就只返回修改后的副本,而不改变原来张量的值。例如:

import torch
a=torch.rand(3)
print('a:{}'.format(a))
print("clamp效果:")
b=a.clamp(0, 0.5)
print('b:{}'.format(b))
print('a:{}'.format(a))
print("clamp_效果:")
b=a.clamp_(0, 0.5)
print('b:{}'.format(b))
print('a:{}'.format(a))

  结果为如下图,可见张量a在调用clamp_函数后其本身的值也会发生改变,但是调用clamp的时候则只会返回一个修改后的副本。

 7、python中(1)与(1,)的区别

  ‘(1)’这种写法得到的是一个int类型的数据,而‘(1, )’得到的是一个turple类型的数据。验证如下:

使用pytorch时所遇到的问题总结的更多相关文章

  1. (原)ubuntu上编译PANet/Detectron.pytorch时-std=c99的错误

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/10494787.html 在ubuntu上编译PANet/Detectron.pytorch时,总提示 ...

  2. 在导入pytorch时libmkl_intel_lp64.so找不到

    安装或者更新完pytorch后,运行不了,显示错误: (base) xu@xusu:~$ python Python (default, Dec , ::) [GCC ] :: Anaconda, I ...

  3. Pytorch里的CrossEntropyLoss详解

    在使用Pytorch时经常碰见这些函数cross_entropy,CrossEntropyLoss, log_softmax, softmax.看得我头大,所以整理本文以备日后查阅. 首先要知道上面提 ...

  4. pytorch 从入门到实战

    一.安装 按照 http://pytorch.org 官网上的说明来做,遇到了几个坑.记录如下: 1.用 conda 安装 pytorch 时,下载安装包非常慢,无法忍受. 解决办法:用蓝灯FQ,将蓝 ...

  5. pytorch 安装

    安装pytorch时,官网不能选择版本.原以为是浏览器问题,换了几个浏览器都不行. 后来FQ之后,就能选择版本了. sudo pip install torch torchvision

  6. PyTorch如何构建深度学习模型?

    简介 每过一段时间,就会有一个深度学习库被开发,这些深度学习库往往可以改变深度学习领域的景观.Pytorch就是这样一个库. 在过去的一段时间里,我研究了Pytorch,我惊叹于它的操作简易.Pyto ...

  7. Pytorch 使用不同版本的 cuda

    由于课题的原因,笔者主要通过 Pytorch 框架进行深度学习相关的学习和实验.在运行和学习网络上的 Pytorch 应用代码的过程中,不少项目会标注作者在运行和实验时所使用的 Pytorch 和 c ...

  8. TensorFlow or PyTorch

    既然你已经读到了这篇文章,我就断定你已经开始了你的深度学习之旅了,并且对人造神经网络的研究已经有一段时间了:或者也许你正打算开始你的学习之旅.无论是哪一种情况,你都是因为发现你陷入了困惑中,才找到了这 ...

  9. 如何使用Pytorch迅速实现Mnist数据及分类器

    一段时间没有更新博文,想着也该写两篇文章玩玩了.而从一个简单的例子作为开端是一个比较不错的选择.本文章会手把手地教读者构建一个简单的Mnist(Fashion-Mnist同理)的分类器,并且会使用相对 ...

随机推荐

  1. 关于jQuery MiniUI

    jQuery MiniUI v3.0 jQuery MiniUI - 专业WebUI控件库.它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验. http ...

  2. Office批量打印助手(Excel 批量打印、Word 批量打印)

    最新版本:1.0.6664.34636(更新日期:2018年3月31日) 下载地址:点击下载  程序简介: 本程序能批量打印 Word 文件.Excel 工作簿. 使用程序前请先安装 .NET Fra ...

  3. devops--django+ldap

    首先,什么是Ldap,官方解释 轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP,/ˈɛldæp/)是一个开放的,中立的,工业标准的应 ...

  4. pandas.apply()函数

    1.介绍 apply函数是pandas里面所有函数中自由度最高的函数.该函数如下: DataFrame.apply(func, axis=0, broadcast=False, raw=False, ...

  5. PAT 1007 Maximum Subsequence Sum 最大连续子序列和

    Given a sequence of K integers { N1, N2, …, NK }. A continuous subsequence is defined to be { Ni, Ni ...

  6. C#_.NetFramework_Web项目_EXCEL数据导入

    [推荐阅读我的最新的Core版文章,是最全的介绍:C#_.NetCore_Web项目_EXCEL数据导出] 需要引用NPOI的Nuget包:NPOI-v2.4.1 B-1:EXCEL数据导入--C#获 ...

  7. [Abp vNext 源码分析] - 5. DDD 的领域层支持(仓储、实体、值对象)

    一.简要介绍 ABP vNext 框架本身就是围绕着 DDD 理念进行设计的,所以在 DDD 里面我们能够见到的实体.仓储.值对象.领域服务,ABP vNext 框架都为我们进行了实现,这些基础设施都 ...

  8. Use a Multiline Editor for String Properties 对字符串属性使用多行编辑器

    In this lesson, you will learn how to display a multiline editor for string properties. For this pur ...

  9. SQLi-LABS Page-1(Basic Challenges) Less11-Less22

    Less-11 GET - Blind - Time based - double quotes http://10.10.202.112/sqli/Less-11/ 尝试登录: username:a ...

  10. ENDIAN的由来及BIG-EDIAN 和LITTLE-ENDIAN(转)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/kingmax54212008/arti ...