)
PyTorch语法张量的创建importtorch a[1,2,3.]print(type(a))btorch.tensor(a)print(b)print(type(b))print(b.dtype)importnumpyasnp cnp.random.normal((2,3))dtorch.tensor(c)print(d)etorch.ones_like(d)print(e)ftorch.zeros_like(d)print(f)gtorch.rand_like(d)print(g)print(torch.rand((2,2)))print(torch.randn([2,2]))print(torch.rand([2,2,]).dtype)htorch.rand([2,2,])print(h.dtype)print(h.shape)print(h.device)print(torch.is_tensor(h))itorch.tensor(0)print(torch.is_nonzero(i))print(-*34)print(torch.numel(h))print(torch.zeros([5,5]))atorch.zeros([5,5],dtypetorch.int32)print(a)print(torch.zeros([5,5]).dtype)print(torch.ones_like(a))print(-*34)print(torch.arange(5))print(torch.arange(0,5,2))print(torch.range(0,5))print(torch.range(0,2).dtype)print(torch.arange(0,5).dtype)foriintorch.arange(5):print(epoch:,i)print(torch.eye(3))print(torch.ones_like(a)*5)print(torch.full([2,2],2))print(torch.full_like(a,2))atorch.rand([3,2,])print(a)btorch.rand([3,2,])print(b)print(torch.cat([a,b],dim0))张量的运算API(1)importtorch btorch.rand([3,2])print(b)c,dtorch.chunk(b,chunks2,dim1)print(c)print(d)print(torch.reshape(torch.reshape(b,[2,3]),[-1]))print(-*34)srctorch.tensor([[1,2],[3,4],[5,6]])indextorch.tensor([[0,2],[1,0],[2,1]])out torch.zeros_like(src) out.scatter_(dim0, indexindex, srcsrc) #src [i][j] 这个数要搬到 out 的 第 index [i][j] 行、第 j 列 print(out) atorch.arange(10).reshape(5,2)#print(a)#print(torch.split(a,[1,4])) print(a.shape) print(torch.squeeze(torch.reshape(a,[1,1,5,2]),dim0).shape) btorch.rand(5,2)print(torch.stack([a,b],dim0).shape)#torch.Size([2, 5, 2])print(torch.stack([a,b],dim1).shape)#torch.Size([5, 2, 2])print(torch.cat([a,b],dim0).shape)#torch.Size([10, 2])print(torch.cat([a,b],dim1).shape)#torch.Size([5, 4])张量的运算API(2)importtorch atorch.rand([3,2])print(a)#print(torch.take(a,torch.tensor([0,2,4]))) print(torch.tile(a,dims[1,2])) print(torch.tile(a,dims[2,1])) print(torch.transpose(a,0,1)) print(-*34) print(torch.unbind(a,dim0)) print(torch.unbind(a,dim1)) print(-*34) print(torch.unsqueeze(a,dim0).shape) print(torch.unsqueeze(a,dim1).shape) print(torch.unsqueeze(a,dim-1).shape) btorch.zeros_like(a)print(torch.where(a0.5,a,b))dataset的基本代码实现fromtorch.utils.dataimportDatasetfromPILimportImageimportosclassMyDataset(Dataset):def__init__(self,root_dir,label_dir):self.root_dirroot_dir self.label_dirlabel_dir self.pathos.path.join(self.root_dir,self.label_dir)self.img_pathos.listdir(self.path)def__getitem__(self,index):img_nameself.img_path[index]img_item_pathos.path.join(self.root_dir,self.label_dir,img_name)imgImage.open(img_item_path)labelself.label_dirreturnimg,labeldef__len__(self):returnlen(self.img_path)root_dirdatasetants_label_dirantsbees_label_dirbeesants_datasetMyDataset(root_dir,ants_label_dir)bees_datasetMyDataset(root_dir,bees_label_dir)datasetants_datasetbees_dataset如何用SummaryWriter记录图像和标量importnumpy numpy.bool8boolfromtorch.utils.tensorboardimportSummaryWriterimportnumpyasnpfromPILimportImage writerSummaryWriter(logs)image_pathdataset/ants/0013035.jpgimg_PILImage.open(image_path)img_arraynp.array(img_PIL)print(type(img_array))print(img_array.shape)writer.add_image(test,img_array,1,dataformatsHWC)#y2xforiinrange(100):writer.add_scalar(y2x,2*i,i)writer.close()使用transforms.ToTensor()将PIL图像转换为TensorfromPILimportImagefromtorch.utils.tensorboardimportSummaryWriterfromtorchvisionimporttransforms img_pathdataset/ants/0013035.jpgimg_PILImage.open(img_path)writerSummaryWriter(logs)#1.使用transforms.ToTensor()将PIL图像转换为Tensortransformtransforms.ToTensor()img_tensortransform(img_PIL)writer.add_image(Tensor_img,img_tensor)writer.close()