一、python两大函数: 1、dir():打开,看见 2、help():说明书
dir(pytorch) 输出:1、2、3、4 dir(pytorch.3) 输出:a、b、c help(pytorch.3.a) 总结:dir函数:能让我们知道工具箱以及工具箱中的分隔区有什么东西 help函数:能让我们知道每个工具是如何使用的,工具的使用方法。
二、 jupyter使用: 1、打开conda promt 激活pytorch的环境变量:1、输入conda activate pytorch 打开notebook: 2、输入jupyter notebook 2、找到你在pycharm的新建工程路径,注意如果你的环境变量在c盘,那么jupyter只能连接c盘的路径 3、然后创建一个新的文件python [conda env:pytorch]
如果你想在其他盘创建:切换到其他盘,在输入jupyter notebook: 如下:
多行输入:shift +enter 输出:shift+回车
三、pytorch 如何加载数据: Dataset:提供一种方式去获取数据及其label 功能:如何获取每一个数据及其label,告诉我们总共有多少的数据 Dataloader:为后面的网络提供不同的数据形式
pycharm:直接ctrl + 左键可以输出这个函数的作用 jupyter: help(函数)
四、tensorboard的使用 1、tensorboard之SummaryWriter的使用 主要用到两个方法: add_image与add_scalar
add_scalar参数: tag:数据标识符,有点类似与画出的图表title scalar_value:需要保存的数值,相当于y轴 global——step:相当于x轴
例子:
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('logs')
for i in range(100):
writer.add_scalar("y=x",i,i)
writer.close()
在终端输入tensorboard --logdir=logs 出现: 默认端口:6006,如果你想指定端口tensorboard --logdir=logs --port=6007 浏览器出现以下窗口:
add_image参数: tag:tag:数据标识符,有点类似与画出的图表title img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data dataformats:Default is :math:(3, H, W) .,如果你的图像类型是其他的比如(H,W,3),只需要加一个dataformats=‘CHW’ 例子:
from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np
img_path = r"E:\code\python_code\pytorch_study\train\ants_image\0013035.jpg"
writer = SummaryWriter('logs')
img_PIL = Image.open(img_path)
img_ndarry = np.array(img_PIL)
writer.add_image('test',img_ndarry,1, dataformats='HWC')
for i in range(100):
writer.add_scalar("y=2x",3*i,i)
writer.close()
结果如下: 五:Transforms的使用
compose用法:compose中的参数需要是一个列表,python中,列表的表示形式为【数据1,数据2,…】,在compose中,数据需要时transforms类型,所以得到compose([transforms参数1,transforms参数2,…]
from torchvision import transforms
from PIL import Image
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('logs')
img_path = r"E:\code\python_code\pytorch_study\train\ants_image\0013035.jpg"
img_PIL = Image.open(img_path)
print(img_PIL.size)
trans_totensor = transforms.ToTensor()
tensor_img = trans_totensor(img_PIL)
writer.add_image('tensor_img',tensor_img)
tensor_norm = transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])
img_norm = tensor_norm(tensor_img)
writer.add_image('img_norm',img_norm)
trans_resize = transforms.Resize((512, 512))
img_resize = trans_resize(img_PIL)
img_resize = trans_totensor(img_resize)
writer.add_image('img_resize',img_resize,0)
writer.close()
结果如下: 六: torchvision中的数据集使用
import torchvision
from torch.utils.tensorboard import SummaryWriter
dataset_transform = torchvision.transforms.Compose([torchvision.transforms.ToTensor()])
train_set = torchvision.datasets.CIFAR10(root='./dataset',train=True,transform=dataset_transform,download=False)
test_set = torchvision.datasets.CIFAR10(root='./dataset',train=False,transform=dataset_transform,download=False)
print(test_set[0])
writer = SummaryWriter('p14')
for i in range(10):
img, target = train_set[i]
writer.add_image('train_dataset',img,i)
writer.close()
如果下载太慢的话,可以使用迅雷下载,然后保存到该目录下的dataset里面。
七:dataloader的使用
import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
dataset_transform = torchvision.transforms.Compose([torchvision.transforms.ToTensor()])
train_set = torchvision.datasets.CIFAR10(root='./dataset',train=True,transform=dataset_transform,download=False)
test_set = torchvision.datasets.CIFAR10(root='./dataset',train=False,transform=dataset_transform,download=False)
test_loader = DataLoader(dataset=test_set,batch_size=64,shuffle=True,num_workers=0,drop_last=False)
writer = SummaryWriter('dataloader')
step = 0
for data in test_loader:
img, target = data
writer.add_images('test_data',img,step)
step= step + 1
writer.close()
|