我正在嘗試構建一個可以繪制肖像的 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庫的幫助下解決了它
Python Tensorflow 從真實圖像創建數據集
慕婉清6462132
2022-10-05 16:36:46