2016-12-01 12 views
17

ile iliştirilir. Windows 10'da kurulu TensorFlow r0.12 (CPU) testini bastırın, basılı dizgenin her zaman sonunda bir 'b' olduğunu gördüm. Pitonun baskısı normaldir. Nedeni anlayamıyorum, bu yüzden yardım için buraya geldi.Dize sabitinin baskısı her zaman "b" inTensorFlow

>>>import tensorflow as tf 
>>>hello = tf.constant('Hello, TensorFlow!') 
>>>sess = tf.Session() 
>>>print(sess.run(hello)) 
b'Hello, TensorFlow!' 
+2

gibi

Yazdırma deyimi bakmak gerekir. Varsayılan, python sürümünüze bağlıdır: python2 'str' bayttır, ancak python3' str' unicode'dur. – alexpeits

+0

Kısaca: bu bir 'bytes' nesnesidir. – TigerhawkT3

cevap

19

kullanın sess.run(hello).decode() bir bytestring çünkü şu şekildedir: kodudur. decode yöntemi dizeyi döndürür. `B` önek bayt dizeleri yerine unicode dizeleri göstermektir

print(sess.run(hello).decode()) 
+3

'Tensor' nesnesinin 'decode' özelliği yoktur, yani print (sess.run (merhaba) .decode())' demek istediniz? Bu benim için çalıştı. – ProfPlum

+5

neden bu [tensorflow yüklemenizi doğrulayın] bölümünde belirtilmemiş (https://www.tensorflow.org/install/install_windows#validate_your_installation) !? (Unicode 'str' kullanması gereken 3.6.2 kullanıyorum) –

+0

Evet, yeni bir şey denerken her zaman bir serseri ve işler yolunda gitmiyor. Küçük uyarılar bile gerçekten sinir bozucu olabilir. Umarım web sitesinde bunu düzeltirler. – deeJ