Keras中的Theano与tensorflow后端

时间:2019-05-08 13:42:00

标签: python tensorflow keras deep-learning theano

我有一个使用'theano'后端训练的分类器模型。该模型正常工作,我得到了预期的分类性能。张量大小为Nx3x28x112但是,我想在另一个包含GANs实现(带有'tensorflow'后端)的文件(main_file.py)中使用相同的分类器。因此,我想在main_file.py中使用相同的分类器,并更改张量的输入大小以使其为Nx28x112x3(这是张量流后端的正确输入)。训练过程开始时,演奏的性能与我使用“ theano”获得的演奏性能不相近,并且接近随机演奏。我的模型如下:

def createModel():

   model = Sequential()
   # The first two layers with 32 filters of window size 3x3
   model.add(Conv2D(28, (3, 3), padding='same', activation='relu', input_shape=(28, 112, 3))) 
   # or input_shape = (3, 28, 112) in case of theano backend
   model.add(Conv2D(28, (3, 3), activation='relu'))
   model.add(MaxPooling2D(pool_size=(2, 2)))
   model.add(Dropout(0.25))
   model.add(Conv2D(64, (3, 3), padding='same', activation='relu'))
   model.add(Conv2D(64, (3, 3), activation='relu'))
   model.add(MaxPooling2D(pool_size=(2, 2)))
   model.add(Dropout(0.25))
   model.add(Conv2D(64, (3, 3), padding='same', activation='relu'))
   model.add(Conv2D(64, (3, 3), activation='relu'))
   model.add(MaxPooling2D(pool_size=(2, 2)))
   model.add(Dropout(0.25))
   model.add(Flatten())
   model.add(Dense(512, activation='relu'))
   model.add(Dropout(0.5))
   model.add(Dense(256, activation='relu'))
   model.add(Dropout(0.5))
   model.add(Dense(128, activation='relu'))
   model.add(Dropout(0.5))
   model.add(Dense(64, activation='relu'))
   model.add(Dropout(0.5))
   model.add(Dense(nClasses, activation='softmax'))

   return model

我应该怎么做才能使模型正常运行?后端更改时,除了输入张量的顺序之外,有什么根本的区别吗?

0 个答案:

没有答案