![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pytorch快速入门
文章平均质量分 59
学习B站小土堆视频笔记记录
GMRCCC
这个作者很懒,什么都没留下…
展开
-
10 神经网络的基本骨架-nn.Module的使用。
Model是继承自Module的神经网络,重写了init和forward函数,在init方法中,我们必须用super去继承父类的init,然后后面两句是自己额外加的,forward函数即前向传播函数,数据输入神经网络后要经过forward步骤后输出(还有反向传播函数)。所有的神经网络均继承自MODULE类,MODULE类是神经网络的模版。forward参数中的x即我们要输入的东西,我们对x进行了卷积(conv)、非线性处理(relu),然后在进行一次卷积、非线性处理后返回。神经网络的一个基本骨架(类)。原创 2023-08-02 10:31:16 · 66 阅读 · 0 评论 -
09 DataLoader的使用
batch_size=4,就是取test_data[0],test_data[1],test_data[2],test_data[3]并将他们打包。dataset只是去告诉程序我们的数据集在哪个位置,dataloader是一个加载器,可以把数据加载到神经网络中。可以发现getitem返回数据的方式为img, target,则我们用同样的方式去接收。shuffle表示是否打乱数据,若为true,则两次筛数据的顺序一样。先进行数据的准备,把batch_size设为4,表示一次性抓取4个数据。原创 2023-08-02 10:29:42 · 75 阅读 · 0 评论 -
07 Transforms中常用的工具
关注输入和输出类型,多看官方文档,比网上、CSDN搜索要准确的多关注方法需要什么参数,比如初始化时需要的参数。不知道返回值类型时,用print或者print(type())或debug来查看。原创 2023-08-02 10:26:33 · 52 阅读 · 0 评论 -
06 Transforms的使用
transforms中有Compose(图片经过中心裁剪后送到ToTensor方法中)方法和ToTensor方法(将图片格式转化为Tensor),还有Normalize(正则化)等等。transforms指的是transforms.py这个文件,像一个工具箱,工具箱中有很多的工具。tensor数据类型包装了反向神经网络需要的一些理论基础的参数,所以在神经网络中我们需要把图片转换为tensor型。ToTensor类中有call方法,这个方法类似于C++中重载()运算符,可以直接通过()进行调用。原创 2023-08-02 10:21:47 · 33 阅读 · 0 评论 -
05 Tensorboard使用
可以看到,add_scalar主要用于向summary中添加标量数据,tag类似于一张图片的标题,scalar_value是我们需要保存的数值(纵坐标),global_step是对应的步数(横坐标)。但如果我们向同一个标题再写入一次数据的话,就会出现非常糟心的情况,比如我们同时写入y=2x和y=3x,都写在y=2x这个标题上,则图片会变成这样。这是因为在执行新的事件时,会延续上一个事件继续写,有两种解决办法,一种是将以前的logs文件删掉,或者在训练新数据时,重新建立一个子文件夹。原创 2023-08-02 10:20:12 · 59 阅读 · 0 评论 -
04 Dataset类代码实战
然后就可以在初始化函数中通过图片路径和标签路径来对图片列表进行导入了,主要导入为类中的全局变量,类似于C++中的属性(self.后面)创建一个类MyData,这个类继承自Dataset类,并创建一个初始化函数,相当于C++中的构造函数。此时label文件夹中的文档保存的就是相应图片的标签,文档名等于相应图片名。需要注意的是,这种图片获取方式针对的是图片的标签直接用文件夹命名的情况。也可以将两个数据集拼接在一起,此时新数据集的长度为两个数据集的长度和。然后定义一个getitem函数,idx相当于索引。原创 2023-08-02 10:17:54 · 75 阅读 · 0 评论 -
03 PyTorch加载数据初认识
Pytorch中的数据加载主要涉及两个类,Dataset和Dataloader。Dataset:提供一种方式从数据海洋中去获取数据及其label,并给他们编号。Dataloader:为后面的网络提供不同的数据形式。原创 2023-08-02 10:14:49 · 25 阅读 · 0 评论 -
02 Pycharm和Jupyter的使用和对比
python控制台和Jupyter的好处是某一块发生错误时,并不会影响前面已经运行的块。如果说代码是以块为一个整体运行的话,则python文件的块是所有行的代码。缺点:若发生了一个错误,则代码的可阅读性会大大降低。以每一行为一个块,也可以几行一起运行,不过不推荐。优点:通用,传播方便,适用于大型项目。优点:可以看到每个变量的属性。可以以任意几行为块进行运行。优点:利于代码的阅读和修改。原创 2023-08-02 10:13:34 · 354 阅读 · 0 评论 -
01 Python中的两大法宝函数
一个Package就像一个工具箱,比如Pytorch就是一个Package,它分为几个分割区。我们用dir():打开,看见和help():说明书这两个道具来探索工具箱的结构。说明pytorch.3中有a,b,c三个工具。输出:将此扳手放在特点地方,然后拧动。说明pytorch里面有四个工具箱。help函数会对a这个工具进行说明。输出:1,2,3,4。原创 2023-08-02 10:12:22 · 38 阅读 · 0 评论