https://zh-v2.d2l.ai/chapter_computer-vision/object-detection-dataset.html
torch.Size([32, 3, 256, 256]), torch.Size([32, 1, 5])),请问3指什么,32是batch_size,256 ,256 is 长和宽吗? 后面为何又有一个torch.Size,32,1,5 有何含义? 不是很明白!imgs = (batch[0][0:10].permute(0, 2, 3, 1)) / 255, permute是否是变为32,256,256,3,前面的batch[0]是第一个batch,[0:10]是10张图片吗?/255 是标准化对吗,即32/255,256/255,256/255, 3/255,houmian的torch.size(32,1,5)也要标准化吗? 请回答一下!xiexie
后面的batch[1],前面的为batch[0],这是为何,是指不同的batch吗? imgs = (batch[0][0:10].permute(0, 2, 3, 1)) / 255
axes = d2l.show_images(imgs, 2, 5, scale=2)
for ax, label in zip(axes, batch[1][0:10]):
d2l.show_bboxes(ax, [label[0][1:5] * edge_size], colors=[‘w’])
module ‘torchvision’ has no attribute ‘io’ 有遇到这个问题的吗?
版本问题,已解决,用conda安装即可解决
3指的是输入图片的通道数
256是指长和宽
后面的32,1,5分别是指batchsize,这个1按照上面写的应该是预设的m=1,从而构成整齐的tensor。5是指(类别数+矩形框的四个属性)
permute就是你说的意思,修改了轴的顺序之后在bath_size轴上选取前十个图片
/255就是标准化
(32,1,5)对应的是标签,所以不用标准化
不是对应不同的batch,是一个batch里面的图像和标签。你可以搜索一下torch.utils.data.DataLoader(),单线程加载数据的时候这个函数返回的是一个可迭代对象,里面就是batches,每个batch长度为2,其中第一个也就是batch[0]对应的是32张图片数据,batch[1]对应的是32个标签
请问:这是什么问题呢?该如何解决呢?谢谢!
RuntimeError: No such operator image::read_file
请问有大佬遇到过这个问题吗AttributeError: ‘numpy.ndarray’ object has no attribute ‘add_patch’
except OSError:
225 # Cannot rely on checking for EEXIST, since the operating system
PermissionError: [WinError 5] 拒绝访问。: ‘…\data’
这个问题该怎么解决?
额,这么些写有些歧义……你的意思应该是
1是指的目标数,就是图片总共有几个物体
5指的是每个物体的标签和对应的矩形框的四个坐标
解决了吗 我也是遇到这个问题,是代码有问题?
BananasDataset里面 __getitem__方法定义了返回值是长度为2的内容,一是 features,二是 labels,因此后续的batch的内容才是(features,labels)这样的list。此处你如果定义了其他的返回值,长度也会随着变化
这里与作者画图用到的方法有关,d2l.show_images里面调用的画图方法是matplotlib/pyplot.py下面的imshow,imshow支持的输入是“ - (M, N, 3): an image with RGB values (0-1 float or 0-255 int)”,也就是宽高和通道数这样的顺序,因为需要permute重排序,像素的值可以为0-255或者是归一化后的0-1,可以发现以下
d2l.plt.imshow(batch[0][0].permute(1,2,0).int())
d2l.plt.imshow(batch[0][0].permute(1,2,0)/255)
都是可以画出图的,作者这里应该是同意采用了0-1处理后再调用imshow