使用keras中Dense、Sequential、losses、optimizers函数报错

首先看这样一个神经网络代码:

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
tf.random.set_seed(1234)  # applied to achieve consistent results
model = Sequential(
    [
        Dense(25, activation = 'relu',   name = "L1"),
        Dense(15, activation = 'relu', name = "L2"),
        Dense(1, activation = 'linear', name = 'L3')
    ]
)
model.compile(
    loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer=tf.keras.optimizers.Adam(0.01),
)
model.fit(X_train,y_train,epochs=200)
logit = model(X_train)
f_x = tf.nn.sigmoid(logit)

但是pycharm如下函数引用报错:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
model = Sequential()
Dense(25, activation = 'relu',   name = "L1"),
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
optimizer=tf.keras.optimizers.Adam(0.01)

找到的Sequential语句报错解决方法是中间加上"python.",然后使用models.Sequentia()和layers.Dense(),但是losses和optimizer还是显示找不到引用。

from tensorflow.python.keras import layers, models

因为在TensorFlow 2.0及以后的版本中,Keras已经被集成到TensorFlow中,成为了TensorFlow的一部分。因此,如果尝试从tensorflow.keras导入可能会遇到问题,因为正确的导入方式有所变化。尤其TensorFlow 2.16.0及以上版本,此时Keras 3.0已经作为TensorFlow的一部分。

所以正确的导入方式是:

import tensorflow as tf
from keras import layers,models,losses,optimizers
model = models.Sequential(
    [
        layers.Dense(25, activation = 'relu',   name = "L1"),
        layers.Dense(15, activation = 'relu', name = "L2"),
        layers.Dense(10, activation = 'linear', name = 'L3')
    ]
)
model.compile(loss=losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer=optimizers.Adam(0.01),
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值