Tensorflow语音识别,运行sess.run失败,并显示“无法将字符串转换为浮点数”

时间:2018-08-02 13:32:31

标签: python tensorflow speech-recognition

我已经按照以下说明对模型进行了训练: https://www.tensorflow.org/tutorials/sequences/audio_recognition#training

我有一个ckpt文件,但是无法使用Tensorflow的官方说明将其冻结并生成PB。

为了创建PB文件,我使用以下转换器转换了pbtxt: https://github.com/irfansharif/tensorflow/blob/master/converter.py

现在运行Tensorflow官方“ label_wav_file”时,出现以下错误:

  

2018-08-02 10:15:12.263821:我   tensorflow / core / platform / cpu_feature_guard.cc:140]您的CPU支持   TensorFlow二进制文件未编译使用的指令:AVX2   FMA回溯(最近一次通话):文件“ label_wav.py”,行   134,在       tf.app.run(main = main,argv = [sys.argv [0]] +未解析)文件“ /usr/local/lib/python3.5/dist-packages/tensorflow/python/platform/app.py” ,   126行       _sys.exit(main(argv))文件“ label_wav.py”,第106行,位于主目录中       FLAGS.output_name,FLAGS.how_many_labels),文件“ label_wav.py”,第100行,在label_wav中       run_graph(wav_data,labels_list,input_name,output_name,how_many_labels)在run_graph中的文件“ label_wav.py”,第68行       预测= sess.run(softmax_tensor,{input_layer_name:wav_data})文件   “ /usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,   900行,运行中       run_metadata_ptr)文件“ /usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,   _run中的第1104行       np_val = np.asarray(subfeed_val,dtype = subfeed_dtype)文件“ /home/user/.local/lib/python3.5/site-packages/numpy/core/numeric.py”,   第531行,呈数组形式       返回数组(a,dtype,copy = False,order = order)ValueError:无法将字符串转换为float:b'RIFF $} \ x00 \ x00WAVEfmt   \ x10 \ x00 \ x00 \ x00 \ x01 \ x00 \ x01 \ x00

我想确定我应该用作输入和输出层的层(我怀疑这是问题的根源)

输入层:data / Mul:0 输出层:ArgMax:0

(我已经选择了以下作为Output层,因为它是在pbtxt文件中设置的)

我的图形中存在以下几层: my network structure from tensorboard

任何想法是正确的层是什么,或者我做错了什么?

1 个答案:

答案 0 :(得分:0)

在您的回溯中:

  

ValueError:无法将字符串转换为浮点型: b'RIFF $} \ x00 \ x00WAVEfmt \ x10 \ x00 \ x00 \ x00 \ x01 \ x00 \ x01 \ x00

您正在尝试向您的网络提供一个以字节字符串读取的文件,该文件将不起作用。您选择作为输入的图层需要某种形状的float矩阵,这不是您要处理的矩阵。 您将需要研究网络体系结构,以了解如何传递数据以及需要进行哪些输入预处理才能将数据馈送到网络中