Python/Tensorflow

#1
Ich mache gerade so meine ersten Gehversuche mit Tensorflow (in Python) und bin prompt auf etwas gestoßen, was ich als
nicht richtig sehe. .d.h. Tensorflow soll nur einen kleinen Text mit Base64 verschlüsseln und wieder entschlüsseln Ist nur so zum
ausprobieren - also nix besonderes. Ich verwende dazu einen COLAB-Notebook (das ist keine Hardware, sondern ein Cloud-Rechner)

Der Code sieht so aus:
Python:
import tensorflow as tf

sess=tf.InteractiveSession()

def decode(arg):
  return tf.io.decode_base64(arg)
def encode(arg):
  return tf.io.encode_base64(arg)

iText = "Sample_text"

dec=decode(iText)
enc=encode(dec)

print(iText)
print(dec.eval())
print(enc.eval())
sess.close()
Als Ergebnis kriege aber das hier:
Code:
Sample_text
b'I\xa9\xa9\x95\xef\xed{\x1b'
b'Sample_texs'
Man sieht...der wieder encodierte Text ist falsch. Es wird "Sample_texs" statt "Sample_text" ausgegeben.

Mein Fehler ?
 

Mat

Well-Known Member
c-b Experte
#2
Kenne die beiden Libraries nicht, aber warum decode für den Klartext ausführen statt encode? Encode ist verschlüsseln, decode entschlüsseln. Warum meldet der keine Fehler, wenn man ihm einen String gibt, der offensichtlich kein Base64 ist? oO
 

-AB-

Well-Known Member
c-b Team
c-b Experte
#3
Ugh, mein Tensorflow kennt noch nichtmal die io-Bibliothek.
Wird wohl mal Zeit, das upzudaten....

Warum meldet der keine Fehler, wenn man ihm einen String gibt, der offensichtlich kein Base64 ist? oO
Tensorflow und sinnvolle Fehlermeldungen verstehen sich nicht besonders gut. ;)

Also ja, dreh das mal um. Wenn das oben nur ein Vertipper war, probier mal, fürs encode pad=True zu setzen, auch wenn die Doku meint, es müsste nicht. Ist ja scheinbar ein Problem im letzten Zeichen.
 
#4
Mann, Mann Mann...da sieht man echt den Wald vor Bäumen nicht. Hatte tatsächlich de/encode vertauscht und habe
es noch nicht einmal bemerkt<facepalm> . Jetzt läuft es aber fehlerfrei.:)

Vielen Dank.
 
Oben