Pythonの%
オペレータは常に、例えば、除数(第2引数)と同じ符号付き数を返す:ただしtensorflowのmod演算子はpythonのモジュロの実装にマッチできますか?
-7.0 % 3.0 -> 2.0
、TensorflowのMOD操作者がわずかに異なる方法で実装しているように見える:
tf.mod(-7.0, 3.0).eval() -> -1.0
TensorflowにPythonの実装と同じ値を返すにはどうすればよいですか?
import tensorflow as tf
def main():
v_num = -7.0
v_div = 3.0
mod_tf = tf.mod(v_num, v_div)
mod_py = v_num % v_div
with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
print('TF: {} % {} = {}'.format(v_num, v_div, mod_tf.eval()))
print('PY: {} % {} = {}'.format(v_num, v_div, mod_py))
if __name__ == "__main__":
main()