PyTorch的基本使用

91 阅读2分钟

PyTorch的使用

1、tensorboard的使用

(1)、安装tensorboard包

conda install -c conda-forge tensorboard

1

(2)、SummaryWriter类

A、add_scalar()函数

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("logs")
for i in range(100):
    writer.add_scalar("y = x",i,i)  # scalar: 标量
writer.close()

B、add_image()函数

# add_image()函数:画图片
from PIL import Image
import numpy as np
img_path = "hymenoptera_data/hymenoptera_data/train/ants/0013035.jpg"
img = Image.open(img_path)
print(type(img))
img_array = np.array(img)
print(type(img_array)) #转换成numpy类型才能输入到add_image中

writer.add_image("test",img_array,1,dataformats='HWC') #dataformats='HWC':代表图片格式,可以通过控制台查看
writer.close()

2、transforms的使用

pytorch提供的torchvision.transforms 模块是专门用来进行图像预处理的, 包括对图片进行剪切、翻转、平移、仿射等操作。

a68e2af87d5e415f8755820767961f11.png

3、torchvision中数据集的使用

张量: 基于向量和矩阵的推广,是一种新的数据类型

张量:基于向量和矩阵的推广,是一种新的数据类型 0维张量 代表的是标量(数字) 1维张量 代表的是向量 2维张量 代表的是矩阵 3维张量 时间序列数据 股价 文本数据 单张彩色图片(RGB) 4维 = 图像 5维 = 视频 它的核心是一个数据容器,多数情况下,它包含数字,有时候它也包含字符串,但这种情况比较少。因此可以把它想象成一个数字的水桶。 for example: 表示一个图像可以用三个变量表示:(width, height, channel) = 3D 那么表示100000张图像可以用4个变量:4D张量 (batch_size, width, height, channel) = 4D

**创建tensor **
torch.tensor(data, dtype=None, device=None,requires_grad=False)

x = torch.empty(5, 3) # 构造一个未初始化的5*3的矩阵
x = torch.rand(5, 3)  # 构造一个随机初始化的矩阵
x = torch.zeros(5, 3, dtype=torch.long) #构造一个矩阵全为 0,而且数据类型是 long(长整型,是long int的缩写,长度至少32位).
x = torch.tensor([5.5, 3]) #构造一个张量 输出:tensor([5.5000, 3.0000])
x = x.new_ones(4, 3, dtype=torch.double) 
# 创建一个新的全1矩阵tensor,返回的tensor默认具有相同的torch.dtype tensor类型(dtype=torch.float64)和torch.device 返回的设备(device=torch.device('cuda:0'))
# 也可以像之前的写法 x = torch.ones(4, 3, dtype=torch.double)