属性错误:模块'tensorflow.keras'在执行Tensorflow时没有属性'model'



我目前在Ubuntu 16.04和Python 3.5上使用Tensorflow 2.3.1。

我现在第一次尝试对神经网络进行编码,但遇到了一个问题。

这是我的代码rn:

import tensorflow as tf
import tensorflow.keras as keras
from tensorflow.keras.optimizers import Adam
import numpy as np

class D3QN(tf.keras.model):
def __init__(self,n_actions, input_shape):
super(DuelingDeepQNetwork, self).__init__()
self.conv1 = tf.keras.layers.Conv2D(32, 5, strides=(5, 5),padding="valid", input_shape=input_shape, activation="relu", data_format="channels_first")
self.conv2 = tf.keras.layers.Conv2D(64, 3, strides=(2, 2),padding="valid", activation="relu", data_format="channels_first")
self.conv3 = tf.keras.layers.Conv2D(64, 2, strides=(2, 2),padding="valid", activation="relu", data_format="channels_first")
self.dense1 = tf.keras.layers.Dense(512, activation='relu')
self.V = tf.keras.layers.Dense(1, activation='None')
self.A = tf.keras.layers.Dense(n_actions, activation='None')
def call(self,state):
x = self.conv1(state)
x = self.conv2(x)
x = self.conv3(x)
x = Flatten()(x)
x = self.dense1(x)
V = self.V(x)
A = self.A(x)
Q = (V + (A - tf.math.reduce_mean(A, axis=1, keepdims=True)))

因此,当执行此操作时,我得到以下错误消息:AttributeError:模块"tensorflow.keras"没有属性"model">

所以我试着先用谷歌搜索并修复它,github和stackoverflow上的人说,只需导入这个就可以解决这个问题:导入tensorflow.keras.Model我尝试了一下,结果显示了以下错误消息:ImportError:没有名为"tensorflow.keras.Model"的模块

我必须做些什么才能运行我的代码?它甚至还没有完成,我遇到了这样一个奇怪的问题。我真的很感谢任何帮助来解决这个问题

问候

您可以使用from tensorflow.keras import keras

您需要更改以下内容:

class D3QN(tf.keras.model):

class D3QN(tf.keras.Model):

https://www.tensorflow.org/api_docs/python/tf/keras/Model

--

如果要导入模型。您可以使用:

from tensorflow.keras import Model

相关内容

最新更新