簡體   English   中英

在Keras中,如何將兩個圖像輸入到Dense圖層?

[英]In Keras, how could I input two images to a Dense layer?

我想使用Keras和TensorFlow進行以下操作:

我的訓練數據中有10.000套三個圖像,每個圖像8x8字節,顏色值從0到16。 我稱它們為圖像A,B和C。(實際上,它們在csv文件中表示為三個由64個十六進制字符組成的字符串)

C是A和B的一種組合。

我想做的是訓練網絡,使它獲得A和B作為輸入,並獲得C作為標簽。 然后饋入網絡之前未見的兩個圖像(A,B)並生成C。

我所做的讀取csv文件的操作是:

import pandas as pds
training_data_filename = 'training_data.csv'

dataframeX = pds.read_csv(training_data_filename, usecols=[2, 3])
dataframeY = pds.read_csv(training_data_filename, usecols=[4])

print(dataframeX.head())
print(dataframeY.head())

輸出為:

                                                   A  \
0  0x7ff10d4d9fc927fc0fdfcd43e1715a34b7def9d77299...   
1  0xe6da2b370a3b5b42cf2bc0a082e2e0165f2f321bd10c...   
2  0xf179a821c24164fcacd6e75b15892fa8c8e42cb1571a...   
3  0x27eb1825923ef55e80491199ec68438b94857f02ed47...   
4  0x77bc45a7728b4578066639ef4525f0fe5d80d450595c...   

                                                   B  
0  0xd9b40a45b5df976433ebdfddcfe290a66ecf576d18ae...  
1  0xf765866850270f595d8239acee9d0d8634249b9d4ac6...  
2  0x61cc8870ca4690953184f3b680bcdc38039215d2174b...  
3  0x515f6afe8e6f9098abc0da8807ee1070947a4686edd0...  
4  0x8ffb621c0398e392d0be0000e3088649eced85dd0c45...  
                                                   C
0  0x35c1f6ebc3ef2d424ced351b65be8c396f8396d69411...
1  0x4421ce104498ad13b639d6f26b105b4be092f3786f3b...
2  0xcbab77b6c025fe66f967f46ff6138f034dc28fedcb50...
3  0x1f6c372b5d2dfecf29592f71a49dfda5fb930e4e90d5...
4  0x2618f3b170046de775727421ed122174f31ae15fa555...

但是我不明白如何將(A,B)饋送到密集層並將C用作所需的輸出。 如何建立模型?

您不能將字符串輸入密集的層。 密集層期望數字向量作為輸入。 因此,第一步將是將輸入圖像轉換為numpy數組(我不確定為什么您的圖像是十六進制字符串)。

例如:

import cv2
numpy_array = cv2.imread("img.jpg")

從那里可以很容易地將numpy數組提供給密集層並進行分類。 有關代碼示例,請參見: 在MNIST數據集上訓練簡單的深度NN

就是說,如果我對您的理解正確,那么您想從兩個圖像A和B生成一個圖像C。這對於深度神經網絡不是一件容易的事。 如果您要這樣做,請看一下卷積神經網絡和生成對抗網絡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM