Eud*_*die 2 python deep-learning tensorflow
我正在使用RNN根据最近24小时的湿度和温度值预测下一小时的湿度和温度。为了训练模型,我的输入和输出张量的形状为[24,2],如下所示:
[[23, 78],
[24, 79],
[25, 78],
[23, 81],
.......
[27, 82],
[21, 87],
[28, 88],
[23, 90]]
Run Code Online (Sandbox Code Playgroud)
在这里,我只想将“湿度”列(秒)的值限制在0到100之间,因为它不能超出该值。
我用于此目的的代码是
.....
outputs[:,1] = tf.clip_by_value(outputs[:,1], 0, 100)
.....
Run Code Online (Sandbox Code Playgroud)
并得到以下错误:
'Tensor' object does not support item assignment
Run Code Online (Sandbox Code Playgroud)
什么是将tf.clip_by_value()仅用于一列的正确方法?
我认为最直接(但可能不是最佳)的方法是outputs使用沿第二维进行分割tf.split,然后应用裁剪并连接回去(如果需要)。
temperature, humidity = tf.split(output, 2, axis=1)
humidity = tf.clip_by_value(humidity, 0, 100)
# optional concat
clipped_output = tf.concat([temperature, humidity], axis=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3843 次 |
| 最近记录: |