AttributeError: модуль 'tenorflow.python.keras.api._v2.keras.backend' не имеет атрибута 'set_image_dim_ordering' - PullRequest
0 голосов
/ 02 июля 2019

Недавно я попытался использовать python для запуска кода в github. Код находится по адресу: https://github.com/costapt/vess2ret и я использовал следующие программы

TensorFlow-ГП-2,0-beta1 Керас: 2.2.4 ОС: Windows 10 питон: 3,5 CUDA: 10,0 cuDNN: 10,0

И я столкнулся с той же проблемой, которую уже показывали некоторые ребята онлайн. То есть: AttributeError: у модуля tenensflow нет атрибута get_default_graph После того, как я попытался изменить код следующим образом

от импорта керасов

изменить на:

из бэкэнда импорта tenorflow.keras

Я встретил другую проблему. То есть: AttributeError: модуль 'tenorflow.python.keras.api._v2.keras.backend' не имеет атрибута 'set_image_dim_ordering'

И я не знаю, что теперь делать

#Here are some codes which are related to the problem above.

import os
import keras
from tensorflow.keras import backend as K
from keras import objectives
from keras.layers import Input, merge
from keras.layers.advanced_activations import LeakyReLU
from keras.layers.convolutional import Convolution2D, Deconvolution2D
from keras.layers.core import Activation, Dropout
from keras.layers.normalization import BatchNormalization
from keras.models import Model
from keras.optimizers import Adam

KERAS_2 = keras.__version__[0] == '2'
try:
    # keras 2 imports
    from keras.layers.convolutional import Conv2DTranspose
    from keras.layers.merge import Concatenate
except ImportError:
    print("keras 2 layers could not be imported defaulting to keras1")
    KERAS_2 = False

K.set_image_dim_ordering('th') #here is where the problem occurs at

#The first problem.
Traceback (most recent call last):
  File "C:\zzProject_ML\vess2ret-master\train.py", line 326, in <module>
    batch_size=params.batch_size, is_binary=params.is_b_binary)
  File "C:\zzProject_ML\vess2ret-master\models.py", line 378, in g_unet
    i = Input(shape=(in_ch, 512, 512))
  File "C:\Users\10580\Anaconda3\envs\project_ML\lib\site-packages\keras\engine\input_layer.py", line 178, in Input
    input_tensor=tensor)
  File "C:\Users\10580\Anaconda3\envs\project_ML\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\10580\Anaconda3\envs\project_ML\lib\site-packages\keras\engine\input_layer.py", line 39, in __init__
    name = prefix + '_' + str(K.get_uid(prefix))
  File "C:\Users\10580\Anaconda3\envs\project_ML\lib\site-packages\keras\backend\tensorflow_backend.py", line 74, in get_uid
    graph = tf.get_default_graph()
AttributeError: module 'tensorflow' has no attribute 'get_default_graph'

#The second problem.
Using TensorFlow backend.
Traceback (most recent call last):
  File "C:\zzProject_ML\vess2ret-master\train.py", line 7, in <module>
    import models as m
  File "C:\zzProject_ML\vess2ret-master\models.py", line 25, in <module>
    K.set_image_dim_ordering('th')
AttributeError: module 'tensorflow.python.keras.api._v2.keras.backend' has no attribute 'set_image_dim_ordering'

1 Ответ

0 голосов
/ 02 июля 2019

Вы смешиваете tf.keras и keras в своих импортах (они не совместимы), и keras в настоящее время не поддерживает тензор потока 2.0 (не выпущена стабильная версия).

Если вам нужно использовать tenorflow 2.0, тогда вы должны использовать tf.keras, включенный в эту версию. Если вы хотите использовать keras, то вам нужно перейти на стабильную версию тензорного потока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...