亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python Tensorflow 從真實圖像創建數據集

Python Tensorflow 從真實圖像創建數據集

慕婉清6462132 2022-10-05 16:36:46
我正在嘗試構建一個可以繪制肖像的 GAN 模型,我可以使用 mnist 數據集來完成,我想將我的數據集更改為目標人物的肖像。我只有幾個示例圖像,所以我嘗試使用ImageDataGenerator庫擴展我的數據,我在下面添加了代碼。我的第一個問題是我不確定這是否正確,這是我的第二個問題:這是我用于創建數據的代碼:import numpy as npimport pandas as pdimport seaborn as sns import matplotlib.pyplot as pltfrom matplotlib.image import imreadimport matplotlib.image as mpimgimport osfrom tensorflow.keras.preprocessing.image import ImageDataGeneratorimport randomimg_dir = "C:\\Users\\Casper\\Desktop\\draw_ata\\atam\\"image_shape = (150,150,3)if not os.path.exists('pic_data'):    os.makedirs('pic_data')for i in range(60000):    random_img_path = img_dir + random.choice(os.listdir(img_dir))    image_gen = ImageDataGenerator(rotation_range=10,width_shift_range=0.1,height_shift_range=0.1,rescale=1/255, shear_range=0.05, zoom_range=0.1,horizontal_flip=True,fill_mode="nearest")    img = imread(random_img_path, 0)    new_img = image_gen.random_transform(img)    mpimg.imsave("pic_data/%d.png" % i, new_img)它已成功保存圖像,但現在我的下一個目標是獲得可用于 GAN 模型的正確形狀。我的照片是灰度的,但不知何故,它們的形狀是 3D 的,就像它們是彩色圖像一樣。我沒有注意這個問題,并試圖繼續前進。我想創建一個 np 數組,就像 mnist 數據集一樣。這是我的代碼:from tensorflow.keras.layers import Input,SimpleRNN,GRU,LSTM,Dense,Flatten,GlobalMaxPooling1D,Embedding, Dropout, LeakyReLU, BatchNormalizationfrom tensorflow.keras.models import Model, Sequentialfrom tensorflow.keras.optimizers import SGD, Adamfrom tensorflow.keras.datasets import mnistfrom sklearn.preprocessing import StandardScalerimport numpy as npimport pandas as pdfrom matplotlib.image import imreadimport matplotlib.pyplot as pltfrom tensorflow.keras.preprocessing.text import Tokenizerfrom tensorflow.keras.preprocessing.sequence import pad_sequencesfrom sklearn.model_selection import train_test_splitimport osimg_dir = "C:\\Users\\Casper\\Desktop\\draw_ata\\pic_data\\"data_train = os.listdir(img_dir)[:10000]data_test = os.listdir(img_dir)[50000:]并且輸出是 (10000,) 但我希望它們的形狀像 (10000,150,150) - 我的照片比例是 150x150- 就像 mnist 數據集一樣。如何將它們設置為可訓練數據集,謝謝編輯好的我在opencv庫的幫助下解決了它
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

既然您提到您使用 OpenCV 解決了這個問題,我正在使用 OpenCV 為社區編寫下面的解決方案。


from matplotlib.image import imread

import os

import cv2


path = "path"


data_train = os.listdir(path)


for i in range(len(data_train)):

  data_train[i] = cv2.resize(cv2.imread(path + data_train[i]), (150, 150))

data_train = np.array(data_train)


查看完整回答
反對 回復 2022-10-05
  • 1 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號