PYtorch学习第二天 (学习自B站小土堆

PYtorch学习第二天 (学习自B站小土堆,第1张

tensorBoard 和transform的学习(学习自B站小土堆的视频

1、 tensorBoard

#tensorBoard 提供机器学习实验所需的可视化功能和工具:
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image

writer=SummaryWriter("logs")
image_path="dataset/bees_img/16838648_415acd9e3f.jpg"
img_PIL=Image.open(image_path)
img_array=np.array(img_PIL)
print(type(img_array))


writer.add_image("test",img_array,3,dataformats='HWC')
for i in range(100):
    writer.add_scalar("y=3x",3*i,i) #title y x 按住ctrl+光标 就可以打开那个类的介绍

writer.close()

#在terminal 输入 tensorboard --logdir=logs --port=6007 就可以在6007端口打开图片 step不同的步数可以看到不同的结果
#print(type(img))   opencv读取的为numpy型
#teminal中 ctrl+C 出来可以 *** 作的行 可以安装包
#可以显示坐标  也可以显示图片 step1 2 3  可以换地址后实现换图片

2、transform的学习

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

#transform像一个工具箱 里面有很多工具例如totensor resize 拿一些特定格式的图片经过这些工具变为我们想要类型的图片
#通过transform.totensor解决 1transform该如何使用 2tensor数据类型与其它类型有什么区别

img_path="dataset/ants_img/0013035.jpg"
img=Image.open(img_path)

writer=SummaryWriter("logs")

#解决 1transform该如何使用 创建具体的工具(transform.++) 然后去使用 给其输入
tensor_trans=transforms.ToTensor()#创建的工具 class????
tensor_img=tensor_trans(img)#使用工具

writer.add_image("Tensor_img",tensor_img)
writer.close()

#2tensor可以理解为包装了反向神经网络基础的一些参数

一些常用的transform工具

#totensor ToPILImage Resize等
from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
#summarywriter这个函数用于创建一个tensorboard文件
#

writer=SummaryWriter("logs")
img=Image.open("dataset/ants_img/0013035.jpg")
print(img)

#Totensor
trans_totensor=transforms.ToTensor()
img_tensor=trans_totensor(img)
print(img_tensor)
writer.add_image("T0Tensor",img_tensor)
writer.close()

#normalize
print(img_tensor[0][0][0])
trans_norm=transforms.Normalize([1,2,3],[6,2,1])#需要填入的东西看初始化?
img_norm=trans_norm(img_tensor)
writer.add_image("normal",img_norm,1)


writer.close()

#risize
trans_resize=transforms.Resize((512,512))
#img (pil)--risize--img risize (pil)
img_resize=trans_resize(img)
img_resize=trans_totensor(img_resize)
writer.add_image("resize",img_resize,0)

writer.close()

#compose 这个类的主要作用是串联多个图片变换transform 的 *** 作
trans_resize_2=transforms.Resize(512)
trans_compose=transforms.Compose([trans_resize_2,trans_totensor])#括号!
trans_resize_2=trans_compose(img)
writer.add_image("resize",trans_resize_2,1)

writer.close()

#randomcrop
trans_random=transforms.RandomCrop((500,600))
trans_compose_2=transforms.Compose([trans_random,trans_totensor])
for i in range(10):
    img_crop=trans_compose_2(img)
    writer.add_image("randomcrop",img_crop,i)

writer.close()


#1、总结关注输入输出 多看官方文档
# 2、看init初始化需要设置什么参数 有默认值的可以不用设置 没有默认值的 去下面找其作用 设置一个值
#输出的类型不知道 可以输出print(type()) 或者进行debug

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/568098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存