国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

pytorch深度神經元網絡新手入門提前準備自己拍的照片數據信息

89542767 / 457人閱讀

  本文關鍵給大家介紹了pytorch深度神經元網絡新手入門提前準備自己拍的照片數據信息實例全過程,感興趣的小伙伴可以參考借鑒一下,希望可以可以參考,祝愿大家多多的發展,盡早漲薪


  文章正文


  圖片數據主要有兩種狀況:


  1、全部圖片放到一個文件夾內,此外有個txt文件表明標識。


  2、不一樣類型照片放到不同類型的文件夾內,文件夾便是圖形的類型。


  對于這兩個不同的狀況,數據的準備工作也有所不同,第一類狀況能夠定制1個Dataset,第二類狀況立即調用torchvision.datasets.ImageFolder去處理。下邊各自做出說明:


  一、全部圖片放到一個文件夾內


  這兒以mnist數據的10000個test為例子,我就把test集的10000個圖片保存出去,并生著相對應的txt標簽文檔。

01.png

  先往文件列表構建一個空文件夾mnist_test,用以儲存10000張照片,然后運行代碼:


  import torch
  import torchvision
  import matplotlib.pyplot as plt
  from skimage import io
  mnist_test=torchvision.datasets.MNIST(
  './mnist',train=False,download=True
  )
  print('test set:',len(mnist_test))
  f=open('mnist_test.txt','w')
  for i,(img,label)in enumerate(mnist_test):
  img_path="./mnist_test/"+str(i)+".jpg"
  io.imsave(img_path,img)
  f.write(img_path+''+str(label)+'n')
  f.close()
  經過上面的操作,10000張圖片就保存在mnist_test文件夾里了,并在當前目錄下生成了一個mnist_test.txt的文件,大致如下:
  前期工作就裝備好了,接著就進入正題了:
  from torchvision import transforms,utils
  from torch.utils.data import Dataset,DataLoader
  import matplotlib.pyplot as plt
  from PIL import Image
  def default_loader(path):
  return Image.open(path).convert('RGB')
  class MyDataset(Dataset):
  def __init__(self,txt,transform=None,target_transform=None,loader=default_loader):
  fh=open(txt,'r')
  imgs=[]
  for line in fh:
  line=line.strip('n')
  line=line.rstrip()
  words=line.split()
  imgs.append((words[0],int(words[1])))
  self.imgs=imgs
  self.transform=transform
  self.target_transform=target_transform
  self.loader=loader
  def __getitem__(self,index):
  fn,label=self.imgs[index]
  img=self.loader(fn)
  if self.transform is not None:
  img=self.transform(img)
  return img,label
  def __len__(self):
  return len(self.imgs)
  train_data=MyDataset(txt='mnist_test.txt',transform=transforms.ToTensor())
  data_loader=DataLoader(train_data,batch_size=100,shuffle=True)
  print(len(data_loader))
  def show_batch(imgs):
  grid=utils.make_grid(imgs)
  plt.imshow(grid.numpy().transpose((1,2,0)))
  plt.title('Batch from dataloader')
  for i,(batch_x,batch_y)in enumerate(data_loader):
  if(i<4):
  print(i,batch_x.size(),batch_y.size())
  show_batch(batch_x)
  plt.axis('off')
  plt.show()


  自定義了一個MyDataset,繼承自torch.utils.data.Dataset。然后利用torch.utils.data.DataLoader將整個數據集分成多個批次。


  二、不同類別的圖片放在不同的文件夾內


  同樣先準備數據,這里以flowers數據集為例


  提取鏈接:https://pan.baidu.com/s/1dcAsOOZpUfWNYR77JGXPHA?pwd=mwg6


  花總共有五類,分別放在5個文件夾下。大致如下圖:

03.png

  我的路徑是d:/flowers/.


  數據準備好了,就開始準備Dataset吧,這里直接調用torchvision里面的ImageFolder


  import torch
  import torchvision
  from torchvision import transforms,utils
  import matplotlib.pyplot as plt
  img_data=torchvision.datasets.ImageFolder('D:/bnu/database/flower',
  transform=transforms.Compose([
  transforms.Scale(256),
  transforms.CenterCrop(224),
  transforms.ToTensor()])
  )
  print(len(img_data))
  data_loader=torch.utils.data.DataLoader(img_data,batch_size=20,shuffle=True)
  print(len(data_loader))
  def show_batch(imgs):
  grid=utils.make_grid(imgs,nrow=5)
  plt.imshow(grid.numpy().transpose((1,2,0)))
  plt.title('Batch from dataloader')
  for i,(batch_x,batch_y)in enumerate(data_loader):
  if(i<4):
  print(i,batch_x.size(),batch_y.size())
  show_batch(batch_x)
  plt.axis('off')
  plt.show()

  綜上所述,這篇文章就給大家介紹完畢了,希望可以給大家帶來幫助。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128738.html

相關文章

  • 到底什么是生成式對抗網絡GAN?

    摘要:很多人可能會問這個故事和生成式對抗網絡有什么關系其實,只要你能理解這段故事,就可以了解生成式對抗網絡的工作原理。 男:哎,你看我給你拍的好不好?女:這是什么鬼,你不能學學XXX的構圖嗎?男:哦……男:這次你看我拍的行不行?女:你看看你的后期,再看看YYY的后期吧,呵呵男:哦……男:這次好點了吧?女:呵呵,我看你這輩子是學不會攝影了……男:這次呢?女:嗯,我拿去當頭像了上面這段對話講述了一位男...

    GitCafe 評論0 收藏0
  • 分享AI有道干貨 | 126 篇 AI 原創文章精選(ML、DL、資源、教程)

    摘要:值得一提的是每篇文章都是我用心整理的,編者一貫堅持使用通俗形象的語言給我的讀者朋友們講解機器學習深度學習的各個知識點。今天,紅色石頭特此將以前所有的原創文章整理出來,組成一個比較合理完整的機器學習深度學習的學習路線圖,希望能夠幫助到大家。 一年多來,公眾號【AI有道】已經發布了 140+ 的原創文章了。內容涉及林軒田機器學習課程筆記、吳恩達 deeplearning.ai 課程筆記、機...

    jimhs 評論0 收藏0
  • Keras vs PyTorch:誰是「第一」深度學習框架?

    摘要:第一個深度學習框架該怎么選對于初學者而言一直是個頭疼的問題。簡介和是頗受數據科學家歡迎的深度學習開源框架。就訓練速度而言,勝過對比總結和都是深度學習框架初學者非常棒的選擇。 「第一個深度學習框架該怎么選」對于初學者而言一直是個頭疼的問題。本文中,來自 deepsense.ai 的研究員給出了他們在高級框架上的答案。在 Keras 與 PyTorch 的對比中,作者還給出了相同神經網絡在不同框...

    _DangJin 評論0 收藏0
  • PyTorch一周年戰績總結:是否比TensorFlow來勢兇猛?

    摘要:截止到今天,已公開發行一周年。一年以來,社區中的用戶不斷做出貢獻和優化,在此深表感謝。所以與衡量它的指標包括在機器學習研究論文中的使用。來自香港科技大學的在上推出了面向普通觀眾的在線課程。 Yann LeCun Twitter截止到今天,PyTorch 已公開發行一周年。一年以來,我們致力于打造一個靈活的深度學習研究平臺。一年以來,PyTorch 社區中的用戶不斷做出貢獻和優化,在此深表感謝...

    ymyang 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<