Ich versuche, die Zeichen in einem String-Tensor für Zeichenebene Vorhersage abrufen. Die Grundwahrheiten sind Wörter, bei denen jedes Zeichen eine ID im Wörterbuch hat. Ich habe einen Tensor, der der Länge der Saite entspricht.Tensorflow - Abrufen jedes Zeichen in einem String-Tensor
Jetzt muss ich jedes Zeichen im String-Tensor bekommen. Nach dem Überprüfen der zugehörigen Posts kann ein einfacher Abruf wie folgt erfolgen. Beispiel Zeichenfolge „Dieses“
a= tf.constant("This",shape=[1])
b=tf.string_split(a,delimiter="").values #Sparse tensor has the values array which stores characters
Jetzt habe ich eine Zeichenfolge mit Leerzeichen zwischen den Buchstaben „Dieses“ heißt „T h i s“ machen wollen. Ich brauche Abstand am Anfang und am Ende. Wie mache ich das?
Ich habe versucht, wie eher unter
for i in xrange(b.dense_shape[1]): # b.dense_shape[1] has the length of string
x=b.values[i]
Aber die Schleife erwartet eine ganze Zahl durch die Zeichen zu durchlaufen als ein Tensor.
Haben Sie eine Idee, wie Sie die oben genannten Aufgaben erledigen können? Ich konnte keine Dokumentation dazu finden (abgesehen von der Funktion tf.string_split). Irgendwelche Vorschläge sind willkommen. Danke
Eigentlich mein Problem ist nicht über den Tensor laufen, sondern jedes Zeichen erhalten. Ich kann eval() hier nicht verwenden, da ich die Zeichen in Form von Tensoren brauche. Meine Hauptaufgabe besteht darin, einen Stringtensor mit eingefügten Leerzeichen zwischen der ursprünglichen Zeichenfolge zu erhalten. Meine Idee ist es, jeden Zeichenstensor mit Leerzeichen zu versehen, um den gewünschten Stringtensor zu erhalten. Aber ich bin mir nicht sicher, wie ich das machen soll. –
Die Aufgabe ist mit dem zweiten Ansatz einfach. Sie können dies folgendermaßen tun: 'tf.string_split (tf.map_fn (lambda i: i +" ", b), Begrenzer =" "). Values' bedeutet, dass Sie am Ende jedes Zeichens ein Leerzeichen hinzufügen und dann re -split den resultierenden Tensor. – garciparedes
Funktioniert wie ein Charme. Vielen Dank –