python - TypeError:('关键字参数不理解:','dim_ordering')
问题描述
我在尝试使此代码正常工作时遇到了一些问题,我遇到了不知道如何解决的错误。
我想尝试并练习代码必须开发算法以根据宫颈图像正确分类宫颈类型。
这是模型:
def create_model(opt_='adamax'):
model = Sequential()
model.add(Convolution2D(4, 3, 3, activation='relu', dim_ordering='th', input_shape=(3, 32, 32)))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2), dim_ordering='th'))
model.add(Convolution2D(8, 3, 3, activation='relu', dim_ordering='th'))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2), dim_ordering='th'))
model.add(Dropout(0.2))
model.add(Flatten())
model.add(Dense(12, activation='tanh'))
model.add(Dropout(0.1))
model.add(Dense(3, activation='softmax'))
model.compile(optimizer=opt_, loss='sparse_categorical_crossentropy', metrics=['accuracy'])
return model
def cleanImages():
datagen = ImageDataGenerator(rotation_range=0.3, zoom_range=0.3)
datagen.fit(train_data)
return datagen
def fitAndPredict():
print("cleaning images")
datagen=cleanImages()
print("images cleaned")
model = create_model()
x_train,x_val_train,y_train,y_val_train = train_test_split(train_data,train_target,test_size=0.4, random_state=17)
print("fitting data")
model.fit_generator(datagen.flow(x_train,y_train, batch_size=15, shuffle=True), nb_epoch=200,
samples_per_epoch=len(x_train), verbose=1, validation_data=(x_val_train, y_val_train))
print("data fitted in model")
test_data = np.load('test1.npy')
test_id = np.load('test_id1.npy')
print("creating predictions")
predictions = model.predict_proba(test_data)
print("predictions made")
return predictions, test_id
def createSub():
pred, test_id=fitAndPredict()
print("creating submission file")
df = pd.DataFrame(pred, columns=['Type_1','Type_2','Type_3'])
df['image_name'] = test_id
#df.to_csv('submission.csv', index=False)
df.to_csv(r'D:/Test cods/Sample code1jupyter/csvfile/submission.csv', index=False)
print("submission created")
if __name__ == '__main__':
createSub()
我找不到问题所在
-------------------------------------------------------------------
cleaning images
images cleaned
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-67-83b0d2376a28> in <module>
1 if __name__ == '__main__':
2
----> 3 createSub()
4
<ipython-input-66-d63e92615546> in createSub()
1 def createSub():
----> 2 pred, test_id=fitAndPredict()
3 print("creating submission file")
4 df = pd.DataFrame(pred, columns=['Type_1','Type_2','Type_3'])
5 df['image_name'] = test_id
<ipython-input-65-24f2c91bcb25> in fitAndPredict()
9 print("images cleaned")
10
---> 11 model = create_model()
12 x_train,x_val_train,y_train,y_val_train =
train_test_split(train_data,train_target,test_size=0.4, random_state=17)
13 print("fitting data")
<ipython-input-63-43a9c4acdc14> in create_model(opt_)
1 def create_model(opt_='adamax'):
2 model = Sequential()
----> 3 model.add(Convolution2D(4, 3, 3, activation='relu', dim_ordering='th',
input_shape=(3, 32, 32))) #use input_shape=(3, 64, 64)
4 model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2), dim_ordering='th'))
5 model.add(Convolution2D(8, 3, 3, activation='relu', dim_ordering='th'))
~\AppData\Roaming\Python\Python38\site-packages\keras\layers\convolutional.py in
__init__(self, filters, kernel_size, strides, padding, data_format, dilation_rate, groups,
activation, use_bias, kernel_initializer, bias_initializer, kernel_regularizer,
bias_regularizer, activity_regularizer, kernel_constraint, bias_constraint, **kwargs)
654 bias_constraint=None,
655 **kwargs):
--> 656 super(Conv2D, self).__init__(
657 rank=2,
658 filters=filters,
~\AppData\Roaming\Python\Python38\site-packages\keras\layers\convolutional.py in
__init__(self, rank, filters, kernel_size, strides, padding, data_format, dilation_rate,
groups, activation, use_bias, kernel_initializer, bias_initializer, kernel_regularizer,
bias_regularizer, activity_regularizer, kernel_constraint, bias_constraint, trainable, name,
conv_op, **kwargs)
123 conv_op=None,
124 **kwargs):
--> 125 super(Conv, self).__init__(
126 trainable=trainable,
127 name=name,
~\AppData\Roaming\Python\Python38\site-packages\tensorflow\python\training\tracking\base.py in
_method_wrapper(self, *args, **kwargs)
520 self._self_setattr_tracking = False # pylint: disable=protected-access
521 try:
--> 522 result = method(self, *args, **kwargs)
523 finally:
524 self._self_setattr_tracking = previous_value # pylint: disable=protected-access
~\AppData\Roaming\Python\Python38\site-packages\keras\engine\base_layer.py in __init__(self,
trainable, name, dtype, dynamic, **kwargs)
321 }
322 # Validate optional keyword arguments.
--> 323 generic_utils.validate_kwargs(kwargs, allowed_kwargs)
324
325 # Mutable properties
~\AppData\Roaming\Python\Python38\site-packages\keras\utils\generic_utils.py in
validate_kwargs(kwargs, allowed_kwargs, error_message)
1132 for kwarg in kwargs:
1133 if kwarg not in allowed_kwargs:
-> 1134 raise TypeError(error_message, kwarg)
1135
1136
TypeError: ('Keyword argument not understood:', 'dim_ordering')
解决方案
推荐阅读
- read-the-docs - 如何将方程式编号放在 readthedocs 的右侧?
- mysql - mysql 最新的 Docker Desktop 3.3.0 (62916)
- powershell - 在 PowerShell 中检查打印机状态
- sql - 具有动态和静态列值的 SQL INSERT INTO TABLE
- informatica - 我有一个平面文件日期格式是 mm-dd-yyyy,我需要将其加载到表中。在表中,我的日期列为 yyyy-mm-dd
- flutter - Flutter 中 url_launcher 的问题(我无法启动网站)
- python - 循环遍历电子邮件的数据帧会产生 smtplib.SMTPRecipientsRefused 错误
- java - 如何在此方法中将 createCriteria(已弃用)更改为 CriteriaQuery?
- javascript - 如何使用 JS、Chart.js 和 PHP 计算最佳拟合的非线性线(回归线)?
- ios - 命令 PhaseScriptExecution 失败,退出代码为非零(反应本机 0.64.0,xcode 12.4)