簡體   English   中英

張量流中的 1 和 1.0 之間有區別嗎?

[英]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 )而不是整數( 21 )? 而且我發現很多人更喜歡使用浮點數而不是整數,我不知道為什么。

我想是不是這個原因?

下面的代碼將顯示兩者之間的區別。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM