Я создал файл 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 и возвращаться снова, как правило, не очень хорошая идея.