Pytorch小土堆

1.Pytorch环境配置及安装

1.1python安装3.6版本,旧的比较稳定(不过视频是2019年的)

1.2pytorch安装:https://pytorch.org/;选择稳定版1.1以上即可,选了1.3版本;windows选择conda;language选择python3.6;cuda是要根据显卡来选,有英伟达显卡时推荐使用cuda9.2(看视频,独立显卡要安装显卡驱动的,驱动程序版本也有一定要求,实验室的应该是可以正常使用的吧,使用这部分需要的话再看视频)==>复制指令,在自己创建的环境下,粘贴回车进行安装==>是否需要下载那些包,选择yes,里面有我们需要的pytorch1.3.0和cudatoolkit9.2.0(若使用conda安装不顺畅 就用pip安装)

检验是否安装成功:import torch没问题;torch.cuda.is_available()返回True

2.Python编辑器

2.1Pycharm

创建一个新项目 选择位置 project-learn_pytorch;选择已存在的 Existing interpreter,点三个点浏览;选择Conda Enviroment(我的显示找不到conda执行文件,选择Virtualenv Enviroment),Interpreter选择Anaconnda3的安装目录的envs-pytorch-python.exe;点击ok就看到Existing interpreter已经导入了==>create

python console在那输入可以看到变量的具体值等;ctrl+c:取消

2.2jupyter

下载Annaconda时已经下载好了,但是是在base环境里;那么我自己创建的新环境下要再安装jupyter==>conda activate pythorch==>conda install nb_conda若装不上看视频弹幕==>jupyter notebook

3.Python学习中的两大法宝函数

dir()函数:打开,看见里面工具箱及工具箱中的分隔区有啥,括号里填“工具箱或工具箱.某个分隔区”;help()函数:说明书,工具是如何使用的,工具的使用方法,括号里填“工具箱.分隔区.具体某个工具”

pycharm中,按住ctrl键,鼠标放到类,同时其变成蓝色,左键单击进去就可以看到介绍

4.Pycharm(Python文件、控制台)及jupyter使用对比

启发==>日后学习尝试使用pycharm的debug功能

pycharm的Terminal可以pip install....

pycharm:ctrl+P:看提示要输入什么

pycharm:不区分大小写进行tab补全代码-->设置:搜case找到Code Completion把Match case取消


5.Pytorch加载数据

5.1Dataset

数据集:提供一种方式去获取数据及其label

5.2Dataload

数据装载器:为后面的网络提供不同数据方式,类似打包

6.Dataset类代码实战

具体看视频

小细节记录:

1)把数据的文件夹放在项目文件夹下,复制某张图片的路径可以在pycharm那右击该图片,copy path绝对路径或copy relative path相对路径

2)windows系统的文件地址要两个反斜杠\\表示转义字符,copy path过来的若只有一个\要加上,或者在前面写r,或者使用一个左斜杠就行/

7.TensorBoard的使用

探究不同阶段时的输出

7.1SummaryWriter:可以用来显示训练集的损失函数的值变化(torch.utlis)

7.1.1add_scalar()

writer = SummaryWriter("文件夹名") #实例化,将创建并把事件文件存在该文件夹下
writer.add_scalar("标题", scalar_value即y轴, global_step即x轴)

writer.close

打开这个画的图,在anaconda prompt中输入:(要在该项目的环境下噢,否则要activate)

tensorboard --logdir=文件夹名 --port=6007

7.1.2add_image()

writer.add_image("标题", Tensor类型的图片, i作为第i张图片)

注意image的type有要求,对于输入的image的shape,默认通道在前,否则需要设置参数

打开方式与上面的相同

也就是说,在tensorboard上显示图片,图片必须是tensor类型

7.2transforms(torchvision)

比较常用的:

transforms.ToTensor():将图片类型转换成Tensor类型

transforms.Normalize():归一化

transforms.Resize():修改图片的高度和宽度(h,w),若只填一个值就是以最小边等比例缩放(?)

transforms.RandomCrop():随机裁剪为(h,w)或只填一个参数就(size,size)

transforms.Compose([transforms实例化1, transforms实例化2]):对图片依次从左到右多步操作;这样实例化好后,输入就按transforms实例化1的要求来,但是注意实例化1的输出类型要满足实例化2的输入要求

总结transforms的使用方法:

1.多看官方文档!

2.关注方法的输入和输出类型;关注方法需要填入什么参数,即没有默认值的参数

3.若方法的输出类型没写时,有三种方法去查看:print()  print(type())  在要看的地方打上断点debug后查看参数属性栏

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值