[英]Is there difference between 1 and 1.0 in tensorflow?
我找到了一個關於自定義指標的片段。
smooth = 0.001
dices = (2. * a + smooth) / (a+ b+ smooth)
ratio = a/ (K.sum(a) + smooth)
ratio = 1.0 - ratio
為什么作者更喜歡浮點數(如2.
和1.0
)而不是整數( 2
或1
)? 而且我發現很多人更喜歡使用浮點數而不是整數,我不知道為什么。
我想是不是這個原因?
下面的代碼將顯示兩者之間的區別。
t1 = tf.constant(value=1)
t1.dtype
輸出 tf.int32
t2 = tf.constant(value=1.0)
t2.dtype
輸出 tf.float32
現在添加這兩個張量將引發錯誤,因為這兩個張量的數據類型不同。
t3 = tf.add(x=t1, y=t2)
輸出:
回溯(最近一次調用):文件“c:\\ProgramData\\Anaconda3\\envs\\tensorflow_cpu\\lib\\site-packages\\tensorflow\\python\\framework\\op_def_library.py”,第 527 行,在 _apply_op_helper preferred_dtype=default_dtype)文件“c :\\ProgramData\\Anaconda3\\envs\\tensorflow_cpu\\lib\\site-packages\\tensorflow\\python\\framework\\ops.py",第 1224 行,in internal_convert_to_tensor ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)文件“c:\\ProgramData\\Anaconda3\\envs\\tensorflow_cpu\\lib\\site-packages\\tensorflow\\python\\framework\\ops.py”,第1018行,在_TensorTensorConversionFunction(dtype.name, t.dtype.name, str(t) )) ValueError: Tensor 轉換請求 dtype int32 for Tensor with dtype float32: 'Tensor("Const_4:0", shape=(), dtype=float32)'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.