我正在尝试使用函数式API为Keras编写机器学习代码。我不知道应该使用什么输入参数。
# first input model
numbers_input = Input(shape=(,5,1))
conv11 = Conv2D(32, kernel_size=4, activation='relu')(visible1)
pool11 = MaxPooling2D(pool_size=(2, 2))(conv11)
conv12 = Conv2D(16, kernel_size=4, activation='relu')(pool11)
pool12 = MaxPooling2D(pool_size=(2, 2))(conv12)
flat1 = Flatten()(pool12)
# second input model
visible2 = Input(shape=(32,32,3))
conv21 = Conv2D(32, kernel_size=4, activation='relu')(visible2)
pool21 = MaxPooling2D(pool_size=(2, 2))(conv21)
conv22 = Conv2D(16, kernel_size=4, activation='relu')(pool21)
pool22 = MaxPooling2D(pool_size=(2, 2))(conv22)
flat2 = Flatten()(pool22)
字符串
它使用两种类型的输入,数字和布尔(1和0)。如何在此代码中使用选定的行和列?数值输入是从行1到行44044和列5到10。布尔型输入的范围是从行1到行44044和列1到4。
我尝试使用以下语法
# first input model
numbers_input = Input(shape=(1:44044,5:10,1))
conv11 = Conv2D(32, kernel_size=4, activation='relu')(visible1)
pool11 = MaxPooling2D(pool_size=(2, 2))(conv11)
conv12 = Conv2D(16, kernel_size=4, activation='relu')(pool11)
pool12 = MaxPooling2D(pool_size=(2, 2))(conv12)
flat1 = Flatten()(pool12)
# second input model
visible2 = Input(shape=(1:44044,1:4,3))
conv21 = Conv2D(32, kernel_size=4, activation='relu')(visible2)
pool21 = MaxPooling2D(pool_size=(2, 2))(conv21)
conv22 = Conv2D(16, kernel_size=4, activation='relu')(pool21)
pool22 = MaxPooling2D(pool_size=(2, 2))(conv22)
flat2 = Flatten()(pool22)
型
1条答案
按热度按时间gcmastyq1#
在Keras Functional API中,Input shape参数需要定义输入数据结构的元组。“但是,不能直接在形状参数中指定值的范围。相反,您需要在将输入数据提供给模型之前,预先行程输入数据,以选择所需的数据列和数据行。
以下是修改代码以选择特定行和列的方法:
字符串
在上面的代码中,我假设您的数字输入数据的大小为(44044,10),而您的布尔输入数据的大小为(44044,4)。您可以将这些值替换为实际的数据大小。