pytorch学习记录史

    ***一、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
查看有无ipykernel包(pip list),如果没有需要安装conda install nb_conda

打开notebook: 2、输入jupyter notebook
2、找到你在pycharm的新建工程路径,注意如果你的环境变量在c盘,那么jupyter只能连接c盘的路径
3、然后创建一个新的文件python [conda env:pytorch]

如果你想在其他盘创建:切换到其他盘,在输入jupyter notebook:
如下:
在这里插入图片描述

多行输入:shift +enter
输出:shift+回车
导出函数的意思:函数?

scipy.signal.convolve2d?

三、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')#对summmary进行一个实例对象。
for i in range(100):
    writer.add_scalar("y=x",i,i)
    # writer.add_scalar("y=2x",2*i,i)

writer.close()

在终端输入tensorboard --logdir=logs
出现:
在这里插入图片描述
默认端口:6006,如果你想指定端口tensorboard --logdir=logs --port=6007
浏览器出现以下窗口:
pytorch学习记录史_第1张图片

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()

结果如下:
pytorch学习记录史_第2张图片
3、add_graph见链接:https://blog.csdn.net/YQyq1021/article/details/120980640

五: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)


#transforms.ToTensor()的使用
# Convert a ``PIL Image`` or ``numpy.ndarray`` to tensor. This transform does not support torchscript.
trans_totensor = transforms.ToTensor()#实例化对象

tensor_img = trans_totensor(img_PIL)
writer.add_image('tensor_img',tensor_img)

#transforms.Normalize()的使用
#Normalize a tensor image with mean and standard deviation.

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)

#transfrom.resize
#"Resize the input image to the given size.
trans_resize = transforms.Resize((512, 512))
img_resize = trans_resize(img_PIL)#由于img——resize的数据类型为
#,如果想要writer.add_image的话
#必须转换为tensor数据类型
#函数transform,TOtensor可以将其转换
img_resize = trans_totensor(img_resize)
writer.add_image('img_resize',img_resize,0)


writer.close()

结果如下:
pytorch学习记录史_第3张图片
六:
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()

pytorch学习记录史_第4张图片
注意:如果tensorboard出现
No dashboards are active for the current data set.
第一步:先运行自己的代码
第二步:检查程序中的writer.close有没有

你可能感兴趣的:(pytorch,python,人工智能)