如何有效解决在TensorFlow中使用Keras库时遇到的函数调用问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计977个文字,预计阅读时间需要4分钟。
TensorFlow 1.4 版本引入了 Keras 库,将其封装成库。现在,希望将 Keras 版本的 GRU 代码移植到 TensorFlow 中,发现 TensorFlow 中有 Keras 库,非常高兴。打算使用 TensorFlow 中的 Keras 库的 Function API 方式定义神经网络部分,进行训练。
tensorflow在1.4版本引入了keras,封装成库。现想将keras版本的GRU代码移植到TensorFlow中,看到TensorFlow中有Keras库,大喜,故将神经网络定义部分使用Keras的Function API方式进行定义,训练部分则使用TensorFlow来进行编写。一顿操作之后,运行,没有报错,不由得一喜。但是输出结果,发现,和预期的不一样。难道是欠拟合?故采用正弦波预测余弦来验证算法模型。
部分调用keras库代码如上图所示,用正弦波预测余弦波,出现如下现象:
def interface(_input): tmp = tf.keras.layers.Dense(10)(_input) vad_gru = tf.keras.layers.GRU(24, return_sequences=True)(tmp) denoise_output = tf.keras.layers.Dense(1)(vad_gru) return denoise_output
波形是断断续续的。而且最后不收敛。
运行N久。。。之后
基本断定是程序本身的问题,于是通过排查,发现应该是GRU的initial_state没有进行更新导致的。导致波形是断断续续的,没有学习到前一次网络的输出。
本文共计977个文字,预计阅读时间需要4分钟。
TensorFlow 1.4 版本引入了 Keras 库,将其封装成库。现在,希望将 Keras 版本的 GRU 代码移植到 TensorFlow 中,发现 TensorFlow 中有 Keras 库,非常高兴。打算使用 TensorFlow 中的 Keras 库的 Function API 方式定义神经网络部分,进行训练。
tensorflow在1.4版本引入了keras,封装成库。现想将keras版本的GRU代码移植到TensorFlow中,看到TensorFlow中有Keras库,大喜,故将神经网络定义部分使用Keras的Function API方式进行定义,训练部分则使用TensorFlow来进行编写。一顿操作之后,运行,没有报错,不由得一喜。但是输出结果,发现,和预期的不一样。难道是欠拟合?故采用正弦波预测余弦来验证算法模型。
部分调用keras库代码如上图所示,用正弦波预测余弦波,出现如下现象:
def interface(_input): tmp = tf.keras.layers.Dense(10)(_input) vad_gru = tf.keras.layers.GRU(24, return_sequences=True)(tmp) denoise_output = tf.keras.layers.Dense(1)(vad_gru) return denoise_output
波形是断断续续的。而且最后不收敛。
运行N久。。。之后
基本断定是程序本身的问题,于是通过排查,发现应该是GRU的initial_state没有进行更新导致的。导致波形是断断续续的,没有学习到前一次网络的输出。

