2017-10-26 2 views
0

keras-to-caffe 변환 스크립트로 keras 모델을 사용하려고합니다. 스크립트를 실행하려고 할 때마다 모델이로드 된 다음 "채널 만 지원됨"오류가 표시됩니다. 내 모델 이미지에 모양 (24,24,3)을 제공하지만 원하는 것은 (3,24,24).Keras에서 채널을 처음 사용 하시겠습니까?

모양 (3,24,24) 이미지에 모델을 적용하려고 할 때마다이 오류가 발생합니다 (24x 채널로 3x24 이미지를 제공한다고 생각합니다).

ValueError: Negative dimension size caused by subtracting 3 from 1 for 'conv2d_2/convolution' (op: 'Conv2D') with input shapes: [?,1,22,32], [3,3,32,64]. 

어떻게 내가 내 keras 모델 채널 최초의 이미지를 먹을 수?

(경우 누군가의 모델 코드는 필요 : 난 그냥 간단한 분류 문제를하고 있어요)

input_1 = Input(shape=input_shape) # input shape is 24,24,3 - needs to be 3,24,24 


conv_1 = Conv2D(32, kernel_size=(3, 3), 
      activation='relu', 
      input_shape=input_shape)(input_1) 

conv_2 = Conv2D(64, (3, 3), activation='relu')(conv_1) 

pool_1 = MaxPooling2D(pool_size=(2, 2))(conv_2) 

drop_1 = Dropout(0.25)(pool_1) 

flatten_1 = Flatten()(drop_1) 

dense_1 = Dense(128, activation='relu')(flatten_1) 

drop_2 = Dropout(0.5)(dense_1) 

dense_2 = Dense(128, activation='relu')(drop_2) 

drop_3 = Dropout(0.5)(dense_2) 

dense_3 = Dense(num_classes, activation='softmax')(drop_3) 

model = Model(inputs=input_1, outputs=dense_3) 

model.compile(loss=keras.losses.categorical_crossentropy, 
       optimizer=keras.optimizers.Adadelta(), 
       metrics=['accuracy']) 

model.fit(x_train, y_train, 
      batch_size=batch_size, 
      epochs=epochs, 
      validation_data=(x_test, y_test), 
      verbose=1) 

답변

1

모든 길쌈 층이 인수 data_format='channels_first'을 받아들입니다.

에있는 keras.json 파일을 찾아서 기본 구성으로 설정할 수도 있습니다.

+0

고마워요! –