欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談tensorflow中Dataset圖片的批量讀取及維度的操作詳解

 更新時間:2020年01月20日 15:52:00   作者:醉小義  
今天小編就為大家分享一篇淺談tensorflow中Dataset圖片的批量讀取及維度的操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

三維的讀取圖片(w, h, c):

import tensorflow as tf
 
import glob
import os
 
 
def _parse_function(filename):
  # print(filename)
  image_string = tf.read_file(filename)
  image_decoded = tf.image.decode_image(image_string) # (375, 500, 3)
 
  image_resized = tf.image.resize_image_with_crop_or_pad(image_decoded, 200, 200)
  return image_resized
 
 
 
 
with tf.Session() as sess:
 
  print( sess.run( img ).shape  )

讀取批量圖片的讀取圖片(b, w, h, c):

import tensorflow as tf
 
import glob
import os
 
'''
  Dataset 批量讀取圖片
'''
 
def _parse_function(filename):
  # print(filename)
  image_string = tf.read_file(filename)
  image_decoded = tf.image.decode_image(image_string) # (375, 500, 3)
 
  image_decoded = tf.expand_dims(image_decoded, axis=0)
 
  image_resized = tf.image.resize_image_with_crop_or_pad(image_decoded, 200, 200)
  return image_resized
 
 
 
img = _parse_function('../pascal/VOCdevkit/VOC2012/JPEGImages/2007_000068.jpg')
 
# image_resized = tf.image.resize_image_with_crop_or_pad( tf.truncated_normal((1,220,300,3))*10, 200, 200) 這種四維 形式是可以的
 
with tf.Session() as sess:
 
  print( sess.run( img ).shape  ) #直接初始化就可以 ,轉(zhuǎn)換成四維報錯誤,不知道為什么,若誰想明白,請留言 報錯誤
  #InvalidArgumentError (see above for traceback): Input shape axis 0 must equal 4, got shape [5]

Databae的操作:

import tensorflow as tf
 
import glob
import os
 
'''
  Dataset 批量讀取圖片:
  
    原因:
      1. 先定義圖片名的list,存放在Dataset中 from_tensor_slices()
      2. 映射函數(shù), 在函數(shù)中,對list中的圖片進(jìn)行讀取,和resize,細(xì)節(jié)
        tf.read_file(filename) 返回的是三維的,因為這個每次取出一張圖片,放進(jìn)隊列中的,不需要轉(zhuǎn)化為四維
        然后對圖片進(jìn)行resize, 然后每個batch進(jìn)行訪問這個函數(shù) ,所以get_next() 返回的是 [batch, w, h, c ]
      3. 進(jìn)行shuffle , batch repeat的設(shè)置
      
      4. iterator = dataset.make_one_shot_iterator() 設(shè)置迭代器
      
      5. iterator.get_next() 獲取每個batch的圖片
'''
 
def _parse_function(filename):
  # print(filename)
  image_string = tf.read_file(filename)
  image_decoded = tf.image.decode_image(image_string) #(375, 500, 3)
  '''
    Tensor` with type `uint8` with shape `[height, width, num_channels]` for
     BMP, JPEG, and PNG images and shape `[num_frames, height, width, 3]` for
     GIF images.
  '''
 
  # image_resized = tf.image.resize_images(label, [200, 200])
  ''' images 三維,四維的都可以
     images: 4-D Tensor of shape `[batch, height, width, channels]` or
      3-D Tensor of shape `[height, width, channels]`.
    size: A 1-D int32 Tensor of 2 elements: `new_height, new_width`. The
       new size for the images.
  
  '''
  image_resized = tf.image.resize_image_with_crop_or_pad(image_decoded, 200, 200)
 
  # return tf.squeeze(mage_resized,axis=0)
  return image_resized
 
filenames = glob.glob( os.path.join('../pascal/VOCdevkit/VOC2012/JPEGImages', "*." + 'jpg') )
 
 
dataset = tf.data.Dataset.from_tensor_slices((filenames))
 
dataset = dataset.map(_parse_function)
 
dataset = dataset.shuffle(10).batch(2).repeat(10)
iterator = dataset.make_one_shot_iterator()
 
img = iterator.get_next()
 
with tf.Session() as sess:
  # print( sess.run(img).shape ) #(4, 200, 200, 3)
  for _ in range (10):
    print( sess.run(img).shape )

以上這篇淺談tensorflow中Dataset圖片的批量讀取及維度的操作詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python學(xué)習(xí)之不同數(shù)據(jù)類型間的轉(zhuǎn)換總結(jié)

    Python學(xué)習(xí)之不同數(shù)據(jù)類型間的轉(zhuǎn)換總結(jié)

    類型轉(zhuǎn)換,就是將自身的數(shù)據(jù)類型變成新的數(shù)據(jù)類型,并擁有新的數(shù)據(jù)類型的所有功能的過程。本文將詳細(xì)為大家介紹如何在Python中實現(xiàn)不同數(shù)據(jù)類型的轉(zhuǎn)換,感興趣的可以了解一下
    2022-03-03
  • python使用句柄控制windows窗口的兩種方法

    python使用句柄控制windows窗口的兩種方法

    本文主要介紹了python使用句柄控制windows窗口的兩種方法,實現(xiàn)窗口的最小化,還原,最大化,關(guān)閉操作,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 使用django實現(xiàn)一個代碼發(fā)布系統(tǒng)

    使用django實現(xiàn)一個代碼發(fā)布系統(tǒng)

    這篇文章主要介紹了使用django實現(xiàn)一個代碼發(fā)布系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • pytorch中的dataset用法詳解

    pytorch中的dataset用法詳解

    這篇文章主要介紹了pytorch的dataset用法詳解,當(dāng)我們繼承了一個?Dataset類之后,我們需要重寫?len?方法,該方法提供了dataset的大??;?getitem?方法,?該方法支持從?0?到?len(self)的索引,下面來看看附有代碼的講解吧,希望對你的學(xué)習(xí)或者工作有所幫助
    2022-01-01
  • Python創(chuàng)建或生成列表的操作方法

    Python創(chuàng)建或生成列表的操作方法

    在本文中我們給大家分享了關(guān)于Python創(chuàng)建或生成列表的操作方法以及步驟圖文流程,需要的朋友們學(xué)習(xí)下。
    2019-06-06
  • Python加密模塊的hashlib,hmac模塊使用解析

    Python加密模塊的hashlib,hmac模塊使用解析

    這篇文章主要介紹了Python加密模塊的hashlib,hmac模塊使用解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Python OpenCV圖像顏色變換示例

    Python OpenCV圖像顏色變換示例

    大家好,本篇文章主要講的是Python OpenCV圖像顏色變換示例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python3實現(xiàn)的回文數(shù)判斷及羅馬數(shù)字轉(zhuǎn)整數(shù)算法示例

    Python3實現(xiàn)的回文數(shù)判斷及羅馬數(shù)字轉(zhuǎn)整數(shù)算法示例

    這篇文章主要介紹了Python3實現(xiàn)的回文數(shù)判斷及羅馬數(shù)字轉(zhuǎn)整數(shù)算法,涉及Python數(shù)值運(yùn)算、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • Python 實現(xiàn)引用其他.py文件中的類和類的方法

    Python 實現(xiàn)引用其他.py文件中的類和類的方法

    下面小編就為大家分享一篇Python 實現(xiàn)引用其他.py文件中的類和類的方法,具有的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python實現(xiàn)求兩個字符串的最長公共子串方法

    python實現(xiàn)求兩個字符串的最長公共子串方法

    今天小編就為大家分享一篇python實現(xiàn)求兩個字符串的最長公共子串方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評論