Pytorch入门学习笔记(二)

从零开始安装pytorch(包含GPU和CPU版本的安装) Pytorch是。 阅读详情

本文结合小土堆的教学视频PyTorch深度学习快速入门教程进行学习

一、torchvision.transforms 的使用

torchvision 是 pytorch 的一个图形库,主要用来构建计算机视觉模型。

Transforms 功能实现:主要是对一些特定格式的图片进行相应的变化,输出想要的图片结果

Transforms 库封装在 Transforms.py 文件中,相当于一个工具箱,含有有不同的 class 类,如Totensor、Resize 等。

Tensor 数据类型:该类型的数据包装了神经网络所需要的理论基础的参数,一般情况下需要将图片转化为 Tensor 类型再进行训练

1. ToTensor 类

功能实现:将数据类型为 PIL(通过 Image 函数库打开)或 numpy(通过 opencv 库打开)的图片数据转化为 Tensor 数据类型

具体代码实现如下(将 PIL 类型转化为 Tensor)

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms

# 输入图片路径
img_path = r"D:\pytorch_train\train\images\20240104_183616609.jpg"

# 通过Image函数库打开图片,此时图片类型为 PIL
img = Image.open(img_path)

writer = SummaryWriter("logs")  # 创建实例

# 将图片类型转化为tensor
tensor_trans = transforms.ToTensor()    # 创建具体的工具
tensor_img = tensor_trans(img)          # 使用工具,函数参数为图片数据

writer.add_image("Tensor_img",tensor_img)  # 在tensorboard中显示图片
writer.close()

具体代码实现如下(将 numpy 类型转化为 Tensor)

import cv2
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms

# 输入图片路径
img_path = r"D:\pytorch_train\train\images\20240104_183616609.jpg"

# 通过opencv库来打开图片,此时图片类型为numpy
img = cv2.imread(img_path)

writer = SummaryWriter("logs")  # 创建实例

# 将图片类型转化为tensor
tensor_trans = transforms.ToTensor()    # 创建具体的工具
tensor_img = tensor_trans(img)          # 使用工具,函数参数为图片数据

writer.add_image("Tensor_img",tensor_img)  # 在tensorboard中显示图片
writer.close()

2. Normalize 类

功能实现:将传入的图片数据进行归一化处理

归一化计算公式: output[channel] = (input[channel] - mean[channel]) / std[channel] ,其中 mean 为均值,std 为标准差

具体代码实现如下

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms

img_path = r"D:\pytorch_train\train\images\20240104_183616609.jpg"
img = Image.open(img_path)      # 打开图片
writer = SummaryWriter("logs")  # 创建实例
trans_totensor = transforms.ToTensor()    # 创建具体的工具
img_tensor = trans_totensor(img)          # 使用工具,函数参数为图片数据

# 将图片进行归一化处理,传入均值和标准差两个参数(由于图片为RGB三信道,故需提供三个均值和三个标准差)
trans_norm = transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])
img_norm = trans_norm(img_tensor)   # 参数必须为数据类型tensor的图片数据

writer.add_image("Normalize",img_norm)  # 在tensorboard中显示图片
writer.close()

将程序运行后,在终端输入  tensorboard --logdir=logs --port=6007  ,结果显示如下,左图为未进行标准化处理,右图为已进行标准化处理

3. Resize 类

功能实现:将输入图像的大小调整为给定的大小

创建类的函数传入参数 size 可以是序列,也可以是整数,表示期望输出的图片大小。如果 size 是像 (h, w) 这样的序列,则输出图片的大小将与之匹配。如果 size 为一个整数,则图像的较小边缘将与此数字匹配。也就是说,如果高度大于宽度,那么图像将被重新缩放为 (size * height / width, size)

在类中调用方法时,传入参数为图片数据,数据类型可以为 PIL 或 Tensor,输出的图片数据类型和输入的相同

具体代码实现如下(参数 size 为序列,传入的图片数据为 PIL)

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms

img_path = r"D:\pytorch_train\train\images\20240104_183616609.jpg"
img = Image.open(img_path)      # 打开图片
writer = SummaryWriter("logs")  # 创建实例
trans_totensor = transforms.ToTensor()    # 创建具体的工具

# 改变图片的大小,传入的参数为序列,表示将图片大小改为长为512,宽为512
trans_resize = transforms.Resize((512,512))
img_resize = trans_resize(img)          # 改变图片大小,传入图片类型为PIL,传出时也为PIL
img_resize = trans_totensor(img_resize)   # 将图片的数据类型改为tensor

writer.add_image("Resize",img_resize,1)  # 在tensorboard中显示图片
writer.close()

将程序运行后,在终端输入  tensorboard --logdir=logs --port=6007  ,结果显示如下,此时图片大小为 512 × 512

具体代码实现如下(传入的图片数据为 Tensor)

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms

img_path = r"D:\pytorch_train\train\images\20240104_183616609.jpg"
img = Image.open(img_path)      # 打开图片
writer = SummaryWriter("logs")  # 创建实例
trans_totensor = transforms.ToTensor()    # 创建具体的工具
img_tensor = trans_totensor(img)          # 使用工具,函数参数为图片数据

# 改变图片的大小,传入的参数为序列,表示将图片大小改为长为512,宽为512
trans_resize = transforms.Resize((512,512))
img_resize = trans_resize(img_tensor)  # 改变图片大小,传入图片类型为Tensor,传出时也为Tensor

writer.add_image("Resize",img_resize,1)  # 在tensorboard中显示图片
writer.close()

将程序运行后,在终端输入  tensorboard --logdir=logs --port=6007  ,出现了一条用户警告: The default value of the antialias parameter of all the resizing transforms (Resize(), RandomResizedCrop(), etc.) will change from None to True in v0.17, in order to be consistent across the PIL and Tensor backends.  经警告后面的提示,在 Resize 函数中添加参数  antialias=True  即可解除警告,结果显示和上述结果相同。

4. Compose 类

功能实现:串联多个图片变换的操作

函数传入的参数是一个列表,列表中的元素是想要执行的 transforms 操作,即将对图片的各个操作联结起来。Compose() 类会将该列表中的 transforms 操作进行遍历。

具体代码实现如下

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms

img_path = r"D:\pytorch_train\train\images\20240104_183616609.jpg"
img = Image.open(img_path)      # 打开图片
writer = SummaryWriter("logs")  # 创建实例
trans_totensor = transforms.ToTensor()    # 创建具体的工具
img_tensor = trans_totensor(img)          # 使用工具,函数参数为图片数据

# 改变图片的大小,传入的参数为一个整数,表示将最小边缘与之匹配
trans_resize_2 = transforms.Resize(512)
# 调用Compose()类,传入的列表表示第一步改变图片的大小,第二步将图片类型改为Tensor
trans_compose = transforms.Compose([trans_resize_2,trans_totensor])
img_resize_2 = trans_compose(img)

writer.add_image("Resize",img_resize_2,1)  # 在tensorboard中显示图片
writer.close()

5. RandomCrop 类

功能实现:对图片进行指定大小的裁剪

创建类的函数传入参数 size 可以是序列,也可以是整数,表示期望输出的图片大小。如果 size 是像 (h, w) 这样的序列,则输出图片的大小将与之匹配。如果 size 为一个整数,则输出图片大小为 size × size。

具体代码实现如下(参数 size 为一个整数)

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms

img_path = r"D:\pytorch_train\train\images\20240104_183616609.jpg"
img = Image.open(img_path)      # 打开图片
writer = SummaryWriter("logs")  # 创建实例
trans_totensor = transforms.ToTensor()    # 创建具体的工具
img_tensor = trans_totensor(img)          # 使用工具,函数参数为图片数据

# 随机裁剪图片,传入的参数为一个整数,表示裁剪的图片大小为100×100
trans_random = transforms.RandomCrop(100)
# 调用Compose()类,传入的列表表示第一步裁剪图片,第二步将图片类型改为Tensor
trans_compose_2 = transforms.Compose([trans_random,trans_totensor])

# 利用for循环来对图片裁剪10次
for i in range(10):
    img_crop = trans_compose_2(img)
    writer.add_image("Resize",img_crop,i)  # 在tensorboard中显示图片
writer.close()

将程序运行后,在终端输入  tensorboard --logdir=logs --port=6007  ,结果显示如下,此时显示共有10张图片,图片大小为 100 × 100

6. __call__ 函数

现在来对类中的 __call__ 函数进行分析。我们创建了一个类 Person,在类中有两个函数,一个__call__ 函数和一个call函数,两个函数均传入一个参数name,函数体内均打印输入的信息。然后创建一个 Person 类 p,分别调用两个函数,具体代码如下图所示

class Person:
    def __call__(self, name):
        print("__call__:"+name)

    def call(self,name):
        print("call:"+name)

p = Person()
p("zhangsan")
p.call("lisi")

可以看到调用 __call__ 函数不需要写函数名,直接将参数传给类即可,而调用call函数则需写函数名,采用 p.call() 的方式调用。程序运行结果如下

__call__:zhangsan
call:lisi

二、 torchvision.datasets 的使用

datasets功能实现:提供了常用的数据集加载,在设计上继承了 torch.utils.data.Dataset

具体代码实现如下(下载 CIFAR10 数据集)

import torchvision

# 通过torchvision.datasets下载数据集,train值为True表示训练集,False表示测试集
train_set = torchvision.datasets.CIFAR10(root="./dataset",train=True,download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset",train=False,download=True)

print(test_set[0])      # 打印测试集中第一张图片的信息
print(test_set.classes) # 打印测试集中的classes属性

# 打印测试集中第一张图片的信息
img,target = test_set[0]
print(img)
print(target)
print(test_set.classes[target])
img.show()  # 显示图片

程序运行结果如下,前两行表示数据集已经下载了,第三行是测试集中第一张图片的信息,可以看到该图片类型为PIL,且为RGB三通道,大小为32 × 32,属于classes列表中下标值为3的那一类别。第四行是显示测试集中的所有类别。

Files already downloaded and verified
Files already downloaded and verified
(<PIL.Image.Image image mode=RGB size=32x32 at 0x2104B2542B0>, 3)
['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
<PIL.Image.Image image mode=RGB size=32x32 at 0x2104B254280>
3
cat

具体代码实现如下(与 transforms 的联合使用)

import torchvision
from torch.utils.tensorboard import SummaryWriter

dataset_transform = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()
])

# 下载CIFAR10数据集
train_set = torchvision.datasets.CIFAR10(root="./dataset",transform=dataset_transform,train=True,download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset",transform=dataset_transform,train=False,download=True)

writer = SummaryWriter("logs")
# 在for循环中展示数据集的前10张图片
for i in range(10):
    img,target = test_set[i]    #图片文件中第一个元素为图片,第二个元素为元素下标
    writer.add_image("test_set",img,i)  # 在tensorboard中显示图片
writer.close()

将程序运行后,在终端输入  tensorboard --logdir=logs --port=6007  ,结果显示如下,此时显示测试集的前10张图片,图片大小为 32 × 32

三、DataLoader 的使用

功能实现:数据加载器,结合传入的数据集和采样器,提供在给定数据集上的可迭代对象,将数据加载到神经网络中

函数参数的含义:

dataset:表示要加载的数据集;batch_size:每批要加载样本的数量(默认值为1);shuffle:设置为 True 表示在每一轮重新将数据进行洗牌(默认值为 False);num_workers:要使用多少子进程来加载数据(默认值为0,表示数据将在主进程中加载);drop_last:设置为 True 表示如果数据集大小不能被批处理大小整除,则删除最后一个不完整的批处理,若设置为 False 且数据集的大小不能被批处理大小整除,则最后一批处理将保持不变(默认值为 False)

具体代码实现如下(batch_size 设置为64,drop_last 设置为 False)

import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

# 准备测试数据集
test_set = torchvision.datasets.CIFAR10("./dataset",train=False,transform=torchvision.transforms.ToTensor())
# 加载测试集
test_loader = DataLoader(dataset=test_set,batch_size=64,shuffle=True,num_workers=0,drop_last=False)

# 在tensorboard中显示图片
writer = SummaryWriter("logs")
step=0
for data in test_loader:
    imgs, targets = data
    writer.add_images("test_loader",imgs,step)
    step += 1
writer.close()

将程序运行后,在终端输入  tensorboard --logdir=logs --port=6007  ,结果显示如下,此时共有156步,前155步均为64张图片,最后一步只有16张图片,这是因为 drop_last 设置为 False 的缘故,若设置为 True,则共显示155步,把最后一步不足64张的删除

 在程序运行的过程中出现了两个报错:

ValueError: batch_sampler option is mutually exclusive with batch_size, shuffle, sampler, and drop_last  :经查询发现,在编写程序的时候把batch_size写成了batch_samlper,而一旦设置了batch_sampler这个参数,batch_size, shuffle, sampler 和 drop_last 就不能再指定了,他们之间是互斥的

AssertionError: size of input tensor and input format are different.  :经查询发现,在编写程序的时候把 add_images 写成了 add_image,导致函数只能显示单一图片,而不能显示batch数据

具体代码实现如下(shuffle 设置为 True)

import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

# 准备测试数据集
test_set = torchvision.datasets.CIFAR10("./dataset",train=False,transform=torchvision.transforms.ToTensor())
# 加载测试集
test_loader = DataLoader(dataset=test_set,batch_size=64,shuffle=True,num_workers=0,drop_last=True)

# 进行两轮显示图片
writer = SummaryWriter("logs")
for epoch in range(2):
    step=0
    for data in test_loader:
        imgs, targets = data
        writer.add_images("Epoch{}".format(epoch),imgs,step)
        step += 1
writer.close()

将程序运行后,在终端输入  tensorboard --logdir=logs --port=6007  ,结果显示如下,两轮显示均有155步,并且可以发现同一步的同一位置上的图片是不相同的,是因为 shuffle 参数设置为了 True

Pytorch 最全入门介绍,看这一篇就够了 在这一部分,我们将会对Pytorch做一个简单的介绍,包括它的历史、优点以及使用场景等。DataLoader类提供了对数据集的并行加载,可以有效地加载大量数据,并提供了多种数据采样方式。dataset:加载的数据集(Dataset对象)batch_size:batch大小shuffle:是否每个epoch时都打乱数据num_workers:使用多进程加载的进程数,0表示不使用多进程# 数据转换])# 下载并加载训练集# 下载并加载测试集除了使用内置的数据集,我们也可以自定义数据集。 阅读详情

相关推荐

【RL】Pytorch简洁教程 | 坑点总结

训练一个神经网络通畅需要以下步骤: - 定义一个神经网络,通常有一些可以训练的参数 - 迭代一个数据集(Dataset) - 处理网络的输入 - 计算损失(会调用Module对象的`forward()`方法) - 计算损失函数对参数的梯度 - 更新参数,通常使用如下的梯度下降方法来更新:`weight=weight-learning_rate × gradien`。

发现问题,并解决问题,批判性思维 8636

通透讲解!Pytorch 十大核心操作全总结!!!

可以通过继承。

Python数据挖掘 1万+

PyTorch学习笔记(二):PyTorch简介与基础知识

本系列主页更新Pytorch学习笔记,分为不同章节,供初学者详细学习Pytorch,入门深度学习。本章主要简单介绍Pytorch基础知识。

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 9037

pytorch入门学习笔记②

Numpy与Torch中的size、shape、view等等那些事儿 最近脑子不好使,numpy和torch中的一些关于维度的函数及其功能总是搞混。为了记忆方便以及后续复习,暂且整理了些内容。 直接上图 相对应的例子如下: 以 [[1, 2, 3], [4, 5, 6]]为例。 关于array和tensor的维度变化上的函数不止这些,遇到又犯浑的时候再补充吧~ ...

star_xxzeng的博客 380

【Pytorch】2024 Pytorch基础入门教程(完整详细版)

Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。

优快云已停更,感兴趣关注https://aaronzijingcai.github.io/ 27万+

开源ISP介绍(1)——开源ISP的Vivado框架搭建

ZYNQ视频图像处理系统,ISP图像处理硬件实现

路漫漫其修远兮,吾将上下而求索 3282

Pytorch学习笔记之入门实战之用pytorch玩FizzBuzz(二)

Pytorch学习笔记之入门实战之用pytorch玩FizzBuzz(二) 环境说明 from __future__ import print_function import torch torch.__version__ '1.4.0' FizzBuzz FizzBuzz是一个简单的小游戏。游戏规则如下:从1开始往上数数,当遇到3的倍数的时候,说fizz,当遇到5的倍数,说buzz,当遇到1...

饲养员的小熊猫博客 430

AI工程化之生成式UI & A2UI(二)

本文介绍了生成式UI框架A2UI的架构设计与核心实现。项目采用AI协作开发模式,通过ATDD(AI驱动的测试驱动开发)确保代码质量。前端SDK基于zustand实现框架无关的状态管理,包含协议解析器、存储管理、渲染器等核心模块。重点展示了基础store构建、A2UI协议解析器的实现过程,包括mock数据准备、测试用例生成和可视化调试。项目采用monorepo管理,利用vite实现高效开发构建。整个系统设计遵循模块化原则,通过清晰的接口定义实现各组件解耦,为后续功能扩展打下基础。

qq_34306228的博客 405

【PyTorch深度学习入门教程-来自B站-小土堆】学习笔记整理(二)

m = nn.BatchNorm2d(100) #100为通道数。

qq_30639123的博客 1730

STM32H750实战:如何用CubeMX配置NAND Flash时序(附常见问题排查)

本文详细解析了STM32H750通过CubeMX配置NAND Flash时序的实战技巧,包括硬件连接、时序参数计算与优化策略,以及常见问题如RGB屏幕干扰、多片选冲突的解决方案。特别针对NAND Flash的时序配置和抗干扰设计提供了实用代码示例和优化建议,帮助开发者提升系统稳定性和性能。

weixin_29176179的博客 363

ffmpeg 4.4 cenc-aes-ctr 加解密 MP4 工程性质分析

ffmpeg 4.4 cenc-aes-ctr 加解密 MP4 工程性质分析

Dream_Dynasty的博客 3044

PyTorch 入门学习笔记(实战篇)二

本文介绍了一个基于PyTorch的新冠阳性病例占比预测实战项目。文章详细讲解了从数据预处理到模型训练的全流程,包括:1)使用Pandas加载CSV数据并进行特征标签分离;2)自定义Dataset类实现数据批量加载;3)构建三层全连接神经网络模型;4)采用MSE损失函数和Adam优化器进行模型训练。项目完整展示了PyTorch在回归任务中的典型应用,适合深度学习初学者学习实践。

Kayleigh520的博客 621

工程制图习题集张大庆课后习题答案解析

所以,我想向大家求助,希望能得到一些学习资料、学习方法和学习经验,帮助我更好地理解和掌握这门课程。在寻找学习资料的过程中,我发现了一款叫做资小料的APP,它里面有很多关于工程制图的学习资料,包括视频教程、习题解答和考试真题等。通过使用资小料,我逐渐掌握了工程制图的基本理论和方法,解决了很多学习中遇到的问题。在这里,我想推荐给和我一样在学习《工程制图习题集》这门课的同学们,希望大家也能从这款APP中受益,共同进步。上传者: 『Consentesdei』蒼迷穀。出版社: 清华大学出版社。

weixin_58833001的博客 925

PyTorch学习笔记4—PyTorch深度学习入门(二)—自动求导

PyTorch学习笔记4—PyTorch深度学习入门(二)—自动求导

北街末雨Yyg 538

SpringAI系列 - MCP篇(二) - MCP Server Boot Starter

此处需注意之前的。

罗小爬的技术宝书 1316

ESP32与DS18B20温度传感器的数据采集与告警系统

并且,通过自定义的微信告警功能,我们可以及时收到温度超过阈值的告警消息。随着物联网的快速发展,传感器在各种应用场景中发挥着重要的作用。本文将介绍如何使用ESP32微控制器与DS18B20温度传感器结合,通过串口输出和Web服务器实现温度数据的采集和监控,并使用自定义微信告警功能。上传完成后,打开串口监视器,您将看到ESP32连接到Wi-Fi网络,并开始监测温度。在您的计算机或移动设备上,打开一个Web浏览器,并输入ESP32的IP地址。在浏览器中输入ESP32的IP地址后,您将看到显示当前温度的页面。

loop_class349的博客 2242

PyTorch 入门之官方文档学习笔记(二)训练分类器

PyTorch 实践教程——训练分类器。

Cappuccino0001的博客 1007

YOLO11改进|卷积篇|引入多样化分支块DBB

YOLO11中添加多样化分支块DBB

A1983Z的博客 1443

pytorch学习笔记(二)快速入门之张量Tensors

pytorch官方网站 张量(Tensors) Tnesors与Numpy中的ndarrays类似,但pytorch中Tensors可以使用GPU进行计算。 from __future__ import print_function import torch from __future__ import print_function 用法 这是为了在老版本的Python中兼顾新特性的...

邦戈邦戈栗子的博客 417

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

人工智能入门学习笔记(二)(PyTorch)

人工智能入门学习笔记(二)项目:Purdue University BME595课程作业Homework02——Artificial Neural Network - FeedForward pass代码与输出结果知识框架一、Artificial Neural Network & FeedForward二、Activation Function程序详解一、程序构成二、初始化三、与门四、异或门五、激活函数总结 项目:Purdue University BME595课程作业 这个项目是一位朋友向我推荐的

m0_47302432的博客 336

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Pytorch学习笔记(二)-——《深度学习入门之pytorch》

简单的三层全连接神经网络 改进网络:添加激活函数 nn.Sequential() 函数将网络的层组合在一起 改进网络:添加BN 注意BN一般放在全连接层的后面、非线性层(激活函数)的前面 训练一个网络 导入一些相关的包 数据预处理 transforms.ToTensor():将图片转换成Tensor, 转换的过程中自动将图片标准化,Tensor的范围是(0,1) ...

越努力,越幸运 286

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

《深度学习框架:PyTorch入门与实践》学习笔记(二)

之前一个笔记中学习了PyTorch中的一些重要概念,如Tensor等,以及和神经网络的构建,接下来我们可以用所学到的知识来进行一个简单的实战。 上一个笔记链接:https://blog.youkuaiyun.com/whatiscode/article/details/106473811 小试牛刀:CIFAR-10分类 下面我们来尝试实现对CIFAR-10数据集的分类,步骤如下: 使用torchvision加载并预处理CIFAR-10数据集 定义网络 定义损失函数和优化器 训练网络并更新网络参数 测试网络 1 .

奉现的博客 736

学习笔记——pytorch1.9.0官方文档快速入门(二)

目录参考笔记链接Datasets & Dataloaders介绍加载数据集可视化数据集自定义数据集__init____len____getitem__使用Dataloaders准备训练数据遍历DAtaloader 参考 官方文档——Datasets & Dataloaders 运行环境:google colab 笔记链接 学习笔记——pytorch1.9.0官方文档快速入门(一) 学习笔记——pytorch1.9.0官方文档快速入门(二) 学习笔记——pytorch1.9.0官方文档快速入

面包猎人 666

我在B站读大学-【小土堆】PyTorch深度学习快速入门教程学习笔记(二)

小土堆视频教程P22-26 学习笔记 Pytorch入门选手的学习笔记 (序号与视频序号完全对应), 本文尽可能的在详细记录了自己的学习内容, 包括但不限于(加了详细注释的代码, 截图并补充了说明的插图, UP讲课时的关键内容),因为自己学习过程中看其他博主的笔记, 有所收获,. 希望我的笔记也可以帮助一起学习的小伙伴, 加油哇~

qq_41642036的博客 1571

Pytorch入门教程学习笔记(二)线性回归从零实现

目录2.2 线性回归的从零开始实现2.2.1 生成数据集2.2.2 读取数据2.2.3 初始化模型参数2.2.4 定义模型2.2.5 损失函数2.2.6 优化算法2.2.7 训练模型 说明:本博客是对如何使用pytorch用于深度学习 学习过程的记录和总结。 学习教程为:《动手学深度学习》和https://tangshusen.me/Dive-into-DL-PyTorch/#/ 这里推荐这个网址,将动手学深度学习改为了Pytorch实现,很有意义! 代码是借鉴了学习教程并从自己写的Jupyter中导出的,

Younguys 213

【Pytorch入门】小土堆PyTorch入门教程完整学习笔记(详细笔记并附练习代码 ipynb文件)

【Pytorch入门】小土堆PyTorch入门教程完整学习笔记(详细笔记 文末附练习代码 ipynb文件)

几度热忱的博客 3万+
上一篇: Pytorch入门学习笔记(一)
下一篇: Pytorch入门学习笔记(三)—— 神经网络
tryflyhigh
博客等级 码龄3年 136粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值