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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)