发新帖

请问如何在循环中更新RNN的config参数?

[复制链接]
383 2

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
大家好,在tensorfly中文社区有一个朋友[周二飞]提出了一个问题我也比较感兴趣,请大家帮忙解答一下,谢谢大家~
问题如下:
我使用tensorflow的RNN model进行序列预测,输入是每行长度不一的序列 格式大致是:

[[v1,v2,v3],
[v1,v2,v8,v9,v10]]
代码大致如下:
test_data = get_case_data(data_dir)
# 定义初始的config, 里面有num_steps参数
config = MediumConfig()
with tf.Session() as session:
        m = create_model(session,True,config,model_dir)
        for i in range(len(test_data)):
            sample = test_data
            # 更新num_steps为当前输入list长度
            m.num_steps = len(sample)
           # 但这里打印m.num_step仍是原来config里定义的大小
            print(m.num_steps)

            x = [sample]
            # 这里prob的行数应该与num_steps的个数相等,但结果发现生成数据的行数是与之前config定义的大小
            prob = session.run([m.probabilities],{m._input_data:x})


所以想问下造成这种情况的原因是什么呢? 有没有在循环中更新config的方法?谢谢!

我知道答案 回答被采纳将会获得10 金币 + 32 金币 已有2人回答
本楼点评(2) 收起

精彩评论2

ViolinSolo  TF豆豆  发表于 2018-7-15 00:14:55 | 显示全部楼层
你别说我还真没这么试过,,,,我猜测哦,应该是因为你每次构建一个个节点把,然后在你init之后,里面的超参数之类的都被固化进去了,,所以要想重新生效,我觉得要么你重新定义节点,要么,,,就要看tf有没有这种动态变化的方法了,理论上肯定有的,,,你比如lr decay不也是及时生效的么?
本楼点评(0) 收起
kdongyi  TF荚荚  发表于 2018-7-15 17:05:43 | 显示全部楼层

keras与tf.keras 其实没什么区别,很早之前tf和keras就能共用了,只是比较麻烦,然后现在有了更好的解决方案就是直接在tf里面用keras,调用tf。
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

主题

帖子

3

积分
快速回复 返回顶部 返回列表