python - 如何将密集层从 Tensorflow 1 迁移到 Tensorflow 2?
问题描述
我如何将此层迁移到 tf2
observations = tf.placeholder(tf.float32,[None, OBSERVATIONS_SIZE])
h = tf.layers.dense(
observations,
units=hidden_layer_size,
activation=tf.nn.relu,
kernel_initializer=tf.contrib.layers.xavier_initializer()
)
我发现占位符现在是“输入”,我将密集层用于 tf2
我试过:
observations = tf.keras.Input(
shape = [ None, OBSERVATIONS_SIZE ],
dtype = tf.float32
)
h = tf.keras.layers.Dense(
observations,
units=hidden_layer_size,
activation='relu',
kernel_initializer = 'glorot_uniform'
)
如果我使用它,我会收到此错误
TypeError: __init__() got multiple values for argument 'units'
在这种情况下我应该如何使用占位符/输入?
解决方案
Keras 层不用作tf.layers
,它们是可调用的,而不是将张量作为第一个参数传递,所以它应该是:
observations = tf.keras.Input(
shape = [ None, OBSERVATIONS_SIZE ],
dtype = tf.float32
)
h = tf.keras.layers.Dense(
units=hidden_layer_size,
activation='relu',
kernel_initializer = 'glorot_uniform'
)(observations)
推荐阅读
- c# - 从 LINQ 获取数据并作为公共保存在数组中
- python-3.x - 为什么我的 root.after 命令不能循环工作?
- php - 基于字符串在 PHP 中创建随机颜色
- javascript - JavaScript/TypeScript 中有没有办法在一个对象中添加两个数组并对它们进行排序?
- scala - 为什么转换为集合时,Scala for 循环会产生自动框整数?
- java - SpringBoot for my Mac 中的通配符子域
- git - Does sparse-checkout act on tracked file?
- c# - ASP .NET Core 3.1 MVC 中特定路由的自定义中间件(或授权)
- java - 开关上的 MVN 幻数
- python - 如何为 matplotlib 表值创建条件着色?