Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我可以同时使用两个图像数据集训练CNN模型吗_Python_Api_Functional Programming_Tensorflow2.0_Cnn - Fatal编程技术网

Python 我可以同时使用两个图像数据集训练CNN模型吗

Python 我可以同时使用两个图像数据集训练CNN模型吗,python,api,functional-programming,tensorflow2.0,cnn,Python,Api,Functional Programming,Tensorflow2.0,Cnn,我想训练一个同时具有两个图像数据集的CNN模型 数据集1(RGB图像[大小(64,64,3)]->1级:火灾2级:非火灾 数据集2(灰度图像[大小(120120,1)]->1级:火灾2级:非火灾 模型输出:火灾(类)或非火灾(类) 我的数据集链接: 数据集-1: test_path1='/content/drive/MyDrive/Thesis_Dataset/Devide_Cnn/gt/test' train_path1='/content/drive/MyDrive/Thesis_Datas

我想训练一个同时具有两个图像数据集的CNN模型

数据集1(RGB图像[大小(64,64,3)]->1级:火灾2级:非火灾 数据集2(灰度图像[大小(120120,1)]->1级:火灾2级:非火灾

模型输出:火灾(类)或非火灾(类)

我的数据集链接: 数据集-1:

test_path1='/content/drive/MyDrive/Thesis_Dataset/Devide_Cnn/gt/test'
train_path1='/content/drive/MyDrive/Thesis_Dataset/Devide_Cnn/gt/train'
valid_path1='/content/drive/MyDrive/Thesis_Dataset/Devide_Cnn/gt/valid'
数据集2:

test_path2='/content/drive/MyDrive/Thesis_Dataset/Devide_Cnn/rgb/test'
train_path2='/content/drive/MyDrive/Thesis_Dataset/Devide_Cnn/rgb/train'
valid_path2='/content/drive/MyDrive/Thesis_Dataset/Devide_Cnn/rgb/valid'
我从stackoverflow中找到了samle代码,其中使用的两个数据集是非图像数据,因此我无法理解如何将此代码应用于我自己的问题

**有谁能帮助我如何使用以下示例代码在我的两个数据集上运行fit操作?????????? *你能告诉我这种方法是否有助于提高准确性吗

stackoverflow的示例代码:(演示如何为两个给定的图像数据集运行fit Operation)


我认为您可以使用pandas数据帧,将Dataset1和Dataset2导入单个数据帧,然后将其传递到网络,如果两个数据集具有完全相似的数据,那么您可以直接合并两个数据集。为了精确,你必须先提高数据的质量,然后再使用神经网络

from keras.layers import Conv2D, MaxPooling2D, Input, Dense, Flatten, concatenate
from keras.models import Model
import numpy as np

img_input = Input(shape=(64, 64, 1))  ## branch 1 with image input
x = Conv2D(64, (3, 3))(img_input)
x = Conv2D(64, (3, 3))(x)
x = MaxPooling2D((2, 2))(x)
x = Flatten()(x)
out_a = Dense(64)(x)

num_input = Input(shape=(7,))        ## branch 2 with numerical input
x1 = Dense(8, activation='relu')(num_input)
out_b = Dense(16, activation='relu')(x1)

concatenated = concatenate([out_a, out_b])    ## concatenate the two branches
out = Dense(4, activation='softmax')(concatenated)
model = Model([img_input, num_input], out)
print(model.summary())
model.compile('sgd', 'categorical_crossentropy', ['accuracy'])

### Just for sanity check
X = [np.zeros((1,64,64,1)), np.zeros((1,7))]
y = np.ones((1,4))
model.fit(X, y)
print(model.predict(X))