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

tensorflow圖像裁剪進(jìn)行數(shù)據(jù)增強(qiáng)操作

 更新時(shí)間:2020年06月30日 14:57:57   作者:yeler082  
這篇文章主要介紹了tensorflow圖像裁剪進(jìn)行數(shù)據(jù)增強(qiáng)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

#!/usr/bin/env python
# encoding: utf-8
'''
@author: lele Ye
@contact: 1750112338@qq.com
@software: pycharm 2018.2
@file: 13mnist.py
@time: 2018/12/17 10:23
@desc:
'''
import tensorflow as tf
import scipy.misc
import matplotlib.pyplot as plt
import random
 
# 讀取圖像可任意大小
filenames = ['./tianchi.jpg']
# 創(chuàng)建文件讀取隊(duì)列
filename_queue = tf.train.string_input_producer(filenames)
# 一個(gè)閱讀器,讀取整個(gè)文件,返回文件名稱key,以及文件中所有的內(nèi)容value
reader = tf.WholeFileReader()
# Returns the next record (key, value) pair produced by a reader
key, value = reader.read(filename_queue)
images = tf.image.decode_jpeg(value) # tf.image.decode_png(value)
target_width = target_height = 224
 
# 裁切圖片
with tf.Session() as sess:
  # Coordinator的使用,用于多線程的協(xié)調(diào)
  coord = tf.train.Coordinator()
  # 啟動(dòng)所有g(shù)raph收集到的隊(duì)列運(yùn)行器(queuerunners)
  threads = tf.train.start_queue_runners(coord=coord)
  height,width,channels = sess.run(tf.shape(images))
  offset_height = random.randint(0,height-target_height)
  offset_width = random.randint(0,width-target_width)
  reshapeimg = tf.image.crop_to_bounding_box(images, offset_height=offset_height, offset_width=offset_width,
                        target_height=target_height,target_width=target_width)
  print(type(reshapeimg)) # <class 'tensorflow.python.framework.ops.Tensor'>
  reimg1 = reshapeimg.eval() # reimg1的類型是<class 'numpy.ndarray'>
  scipy.misc.imsave('./crop.jpg', reimg1)
  plt.imshow(reimg1)
  plt.axis("off")
  plt.show()
  # 請(qǐng)求線程結(jié)束
  coord.request_stop()
  # 等待線程終止
  coord.join(threads)

原始圖像480x320x3:

裁剪后224x224x3:

補(bǔ)充知識(shí):Tensorflow 圖像增強(qiáng)(ImageDataGenerator)

當(dāng)我們訓(xùn)練一個(gè)較為復(fù)雜的網(wǎng)絡(luò),并且我們的訓(xùn)練數(shù)據(jù)集有限時(shí),網(wǎng)絡(luò)十分容易陷入過(guò)擬合的狀態(tài)。

解決這個(gè)問(wèn)題的一個(gè)可能的有效方法是:進(jìn)行數(shù)據(jù)增強(qiáng),即通過(guò)已有的有限的數(shù)據(jù)集,通過(guò)圖像處理等方法(旋轉(zhuǎn),剪切,縮放…),獲得更多的,類似的,多樣化的數(shù)據(jù)。

數(shù)據(jù)增強(qiáng)處理,不會(huì)占用更多的存儲(chǔ)空間,即在數(shù)據(jù)增強(qiáng)過(guò)程中,原始的數(shù)據(jù)不會(huì)被修改,所有的處理過(guò)程都是在內(nèi)存中 即時(shí)(on-the-fly) 的處理。

注意:

數(shù)據(jù)增強(qiáng)不一定是萬(wàn)能藥(雖然數(shù)據(jù)多了),數(shù)據(jù)增強(qiáng)提高了原始數(shù)據(jù)的隨機(jī)性,但是若 測(cè)試集或應(yīng)用場(chǎng)景 并不具有這樣的隨機(jī)性,那么它將不會(huì)起到作用,還會(huì)增加訓(xùn)練所需的時(shí)間。

使用方法:

train_datagen = ImageDataGenerator(
    rescale=1./255, #數(shù)據(jù)值除以255,[0-255] ->[0,1]
    shear_range=0.2, #剪切強(qiáng)度(逆時(shí)針?lè)较虻募羟薪嵌?,以度為單位?
    zoom_range=0.2, #隨機(jī)縮放范圍
    horizontal_flip=True) #水平翻轉(zhuǎn)

test_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(
    'data/train',
    target_size=(150, 150),
    batch_size=32,
    class_mode='binary')

validation_generator = test_datagen.flow_from_directory(
    'data/validation',
    target_size=(150, 150),
    batch_size=32,
    class_mode='binary')

model.fit_generator(
    train_generator,
    steps_per_epoch=2000,
    epochs=50,
    validation_data=validation_generator,
    validation_steps=800)

以上這篇tensorflow圖像裁剪進(jìn)行數(shù)據(jù)增強(qiáng)操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)現(xiàn)報(bào)表自動(dòng)化詳解

    python實(shí)現(xiàn)報(bào)表自動(dòng)化詳解

    這篇文章主要介紹了python實(shí)現(xiàn)報(bào)表自動(dòng)化詳解,涉及python讀,寫excel—xlwt常用功能,xlutils 常用功能,xlwt寫Excel時(shí)公式的應(yīng)用等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • python 系統(tǒng)調(diào)用的實(shí)例詳解

    python 系統(tǒng)調(diào)用的實(shí)例詳解

    這篇文章主要介紹了python 系統(tǒng)調(diào)用的實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Python:Scrapy框架中Item Pipeline組件使用詳解

    Python:Scrapy框架中Item Pipeline組件使用詳解

    這篇文章主要介紹了Python:Scrapy框架中Item Pipeline組件使用詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • Python操作MySQL MongoDB Oracle三大數(shù)據(jù)庫(kù)深入對(duì)比

    Python操作MySQL MongoDB Oracle三大數(shù)據(jù)庫(kù)深入對(duì)比

    對(duì)于數(shù)據(jù)分析師來(lái)說(shuō),學(xué)習(xí)數(shù)據(jù)庫(kù)最重要的就是學(xué)習(xí)它們的查詢功能。這篇文章就以這個(gè)為切入點(diǎn),為大家講述如何用Python操作這3個(gè)數(shù)據(jù)庫(kù)
    2021-10-10
  • OpenCV模板匹配matchTemplate的實(shí)現(xiàn)

    OpenCV模板匹配matchTemplate的實(shí)現(xiàn)

    這篇文章主要介紹了OpenCV模板匹配matchTemplate的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python 函數(shù)返回值的示例代碼

    Python 函數(shù)返回值的示例代碼

    這篇文章主要介紹了Python 函數(shù)返回值的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • python制作朋友圈九宮格圖片

    python制作朋友圈九宮格圖片

    這篇文章主要為大家詳細(xì)介紹了python制作朋友圈九宮格圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 在tensorflow中設(shè)置保存checkpoint的最大數(shù)量實(shí)例

    在tensorflow中設(shè)置保存checkpoint的最大數(shù)量實(shí)例

    今天小編就為大家分享一篇在tensorflow中設(shè)置保存checkpoint的最大數(shù)量實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • 一個(gè)基于flask的web應(yīng)用誕生 使用模板引擎和表單插件(2)

    一個(gè)基于flask的web應(yīng)用誕生 使用模板引擎和表單插件(2)

    一個(gè)基于flask的web應(yīng)用誕生第二篇,這篇文章主要介紹了如何使用jinja2模板引擎和wtf表單插件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • python 辦公自動(dòng)化——基于pyqt5和openpyxl統(tǒng)計(jì)符合要求的名單

    python 辦公自動(dòng)化——基于pyqt5和openpyxl統(tǒng)計(jì)符合要求的名單

    前幾天接到的一個(gè)需求,因?yàn)閷W(xué)校給的名單是青年大學(xué)習(xí)已學(xué)習(xí)的名單,然而要知道未學(xué)習(xí)的名單只能從所有團(tuán)員中再排查一次,過(guò)程相當(dāng)麻煩。剛好我也學(xué)過(guò)一些操作辦公軟件的基礎(chǔ),再加上最近在學(xué)pyqt5,所以我決定用python寫個(gè)自動(dòng)操作文件的腳本給她用用。
    2021-05-05

最新評(píng)論