Как декодировать строку Unicode в конвейере графа Tensorflow - PullRequest
0 голосов
/ 30 сентября 2018

Я создал файл tfRecord для хранения данных.Я должен хранить текст на хинди, поэтому я сохранил его в байтах, используя string.encode ('utf-8').

Но я застрял во время чтения данных.Я читаю данные с помощью API-интерфейсов набора данных tenorflow.Я знаю, что могу декодировать его, используя string.decode ('utf-8'), но это не то, что я ищу.Я хочу какое-то решение, с помощью которого я могу декодировать мою байтовую строку обратно в строку Unicode только внутри графика.

Я пытался as_text , decoding_raw , но они выдают ошибку.

Моя функция синтаксического анализа (отображения):

def _parse_function(tfrecord_serialized):
    features={'float': tf.FixedLenSequenceFeature([], 
    tf.float32,allow_missing=True),
         'byte': tf.FixedLenFeature([], tf.string),
          'int': tf.FixedLenSequenceFeature([], 
    tf.int64,allow_missing=True)}
    parsed_features = tf.parse_single_example(tfrecord_serialized, 
    features)
    return parsed_features['float'],parsed_features['byte'], parsed_features['int']`

Я читаю свой файл tfRecord следующим образом.

    filenames = ["data.tfrecord"] ## List of filename,Multiple filename can be provided together.
    dataset = tf.data.TFRecordDataset(filenames)
    dataset = dataset.map(_parse_function)
    iterator = dataset.make_initializable_iterator()`

    t1,t2,t3 = iterator.get_next()
    sess = tf.Session()
    sess.run(iterator.initializer)
    a,b,c = sess.run([t1,t2,t3])
    print(a,b,c)
    b.decode('utf-8')`

На b.decode я получаю вывод совершенно нормально, я хочу сделать это внутри графика по очевидной причине, возвращаясь из tf вPython и возвращаться снова, как правило, не очень хорошая идея.

...