AttributeError: модуль 'keras.backend' не имеет атрибута 'set_image_dim_ordering' - PullRequest
1 голос
/ 22 сентября 2019
model = Sequential()
K.set_image_dim_ordering('th')
model.add(Convolution2D(30, 5, 5, border_mode= 'valid' , input_shape=(1, 10, 10),activation= 'relu' ))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(15, 3, 3, activation= 'relu' ))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.2))
model.add(Flatten())
model.add(Dense(128, activation= 'relu' ))
model.add(Dense(50, activation= 'relu' ))
model.add(Dense(10, activation= 'softmax' ))
# Compile model
model.compile(loss= 'categorical_crossentropy' , optimizer= 'adam' , metrics=[ 'accuracy' ])

При использовании set_image_dim_ordering() из keras.backend

появляется сообщение об ошибке: AttributeError: module 'keras.backend' has no attribute 'set_image_dim_ordering'

Моя инструкция по импорту

import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
from keras.layers import Flatten
from keras.layers.convolutional import Convolution2D
from keras.layers.convolutional import MaxPooling2D
from sklearn.preprocessing import LabelEncoder,OneHotEncoder
from keras import backend as K
from subprocess import check_output

1 Ответ

1 голос
/ 22 сентября 2019

Пара вещей, на которые стоит посмотреть.Это известная проблема , о которой сообщалось для версии 2.2.5, но она должна работать с 2.2.4 и более ранними версиями.

Однако вы все равно должны прекратить использование этого метода, поскольку он унаследован и имеетбыл заменен на image_data_format : [ code ]

keras.backend.image_data_format()
keras.backend.set_image_data_format(data_format)

Он должен продолжать работать, но сейчас есть ошибка, по крайней мере.

РЕДАКТИРОВАТЬ: Плакат, о котором сообщается ниже, не работает или возвращает ошибку с их кодом, хотя метод, похоже, существует.

Некоторые сообщили, чтоВы можете получить доступ к методу, используя K.common, но я не проверял:

K.common.image_dim_ordering()
K.common.set_image_dim_ordering(dim_ordering)
...