pytorch笔记

想要在tensorboard上显示图片,要把图片给transforms.ToTensor()成tensor类型。



 

当你测试时候,记得在测试文件里的网络和图片都变成.cuda(),或者都.cpu() 

 

  


        self.model = nn.Sequential(
            nn.Conv2d(3, 32, 5, 1, 2),
            nn.MaxPool2d(2),
            省略。。。
        )

sequential 用于网络结构的容器

train_data = torchvision.datasets.CIFAR10(
root='CIFAR10',train=True,transform = transforms.Compose([
     transforms.CenterCrop(10),
     transforms.PILToTensor(),
     transforms.ConvertImageDtype(torch.float)]),
download=True)

compose用于对图形或tensor进行一些列操作的容器



尺寸不对时:

在网络中全部注释掉,一行一行的展开,然后运行进行查看尺寸。



PIL :PIL.Jpeg(Png不固定,看你是啥)ImageFile类型 Image.open(img_path)

tensor :tensor类型 transforms.ToTensor(img)

narrays :numpy.ndarry类型 cv2.imread(img_path) 或者 np.array(img)

import torch
from torchvision import transforms
from PIL import Image

train_data = torchvision.datasets.CIFAR10(root='CIFAR10',train=True,transform=torchvision.transforms.ToTensor(),download=True)
#此时已经变成了tensor量
print(train_data[0][0]) #一大堆的三维tensor(3,32,32)
# train_data[0][0].show() #tensor量是不可以直接用于展示成图片
bbb = transforms.ToPILImage() #先经过transforms中的ToPILmage函数 将tensor变成图片
bbb(train_data[0][0]).show()


关于Softmax:

m = nn.Softmax(dim=1)
input = torch.randn(2,3)
print(input)
output = m(input)
print(output)

输出为:
input tensor([[-2.1922,  1.5888, -0.8482],
        [ 0.8750,  1.2335,  2.2822]])

output tensor([[0.0205, 0.9007, 0.0787],
        [0.1535, 0.2197, 0.6269]])

作用:将值取为0-1之间,小的更小,大的更大。(dim=1上)求和为1。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值