我已经按照以下说明对模型进行了训练: 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文件中设置的)
任何想法是正确的层是什么,或者我做错了什么?
答案 0 :(得分:0)
在您的回溯中:
ValueError:无法将字符串转换为浮点型: b'RIFF $} \ x00 \ x00WAVEfmt \ x10 \ x00 \ x00 \ x00 \ x01 \ x00 \ x01 \ x00
您正在尝试向您的网络提供一个以字节字符串读取的文件,该文件将不起作用。您选择作为输入的图层需要某种形状的float
矩阵,这不是您要处理的矩阵。
您将需要研究网络体系结构,以了解如何传递数据以及需要进行哪些输入预处理才能将数据馈送到网络中