我需要将 tensorflow 1.x 中的自定义 RNN 实现中的以下部分迁移到 tensorflow 2.x。
我有点卡在我需要将 tf.get_variable 与初始化程序(例如 tf.variable_scope 内的 xaver 初始化程序)转换的地方。
我已经参考了迁移指南,但我仍然无法理解 tf.get_variable 与 xavier 初始化的转换,而且我必须迁移一些没有预定义形状的占位符。
with tf.variable_scope(self._scope):
with tf.variable_scope("PresentState"):
self._U = tf.get_variable("U", shape=[self._num_in, self._n_hidden], dtype=tf.float32,
initializer=xavier_initializer())
self._W = tf.get_variable("W", shape=[self._n_hidden, self._n_hidden],
dtype=tf.float32,
initializer=xavier_initializer())
self._b = tf.get_variable("B", shape=[self._n_hidden], dtype=tf.float32,
initializer=xavier_initializer())
self._p = None
占位符部分。
p = tf.placeholder(tf.float32, shape=[batch_size, None, num_in], name="p")