我运行的部分代码如下:
a = tf.subtract(output, tf.constant([1], dtype=tf.int64))
输出可以是0,1,2,这意味着a可以是-1,0,1。出于对称性的原因,我需要检查与我完全相反的a的代码输出。所以我将代码更改为
a = tf.subtract(output, tf.constant([1], dtype=tf.int64))
a = tf.scalar_mul(-1, a)
当我用tf.print和控件依赖项打印我的a时,我发现大多数a从1转换为-1,但不是全部。有些保留了。
此外,tf.int32和tf.int16数据类型的GPU操作并不可靠,如tf的许多github问题中所述。
上述问题的原因是什么?另外,在GPU和CPU上,哪些tensorflow数据类型和ops是可靠的(防弹)?