使用tensorflow_ros_cpp在c ++ API中加载Tensorflow元图,该图已使用自定义操作在python中进行了培训

我正按照标题所述尝试执行任务。我已经使用自定义操作在python中训练了模型。但是,当我使用c ++加载相同的文件时,出现一个错误,提示该操作未注册。我有自己的.so文件,这些文件是我使用tf.load_op_library生成和训练的python模型。我能够加载其他图形而无需自定义操作。 我还执行了以下操作,但没有解决办法:

  Status status = NewSession(options,&session);
  TF_Status* state = TF_NewStatus();

  TF_Loadlibrary("tf_sampling_so.so",state);

其中tf_sampling_so.so是在python中训练模型时加载的文件。编译或加载图形时没有任何错误。

将图形添加到会话时出错:

找不到

:未在vatsuak上运行的二进制文件中注册“ FarthestPointSample”操作类型。确保在此过程中运行的二进制文件中注册了Op和Kernel。请注意,如果您要从tf.contrib加载使用了ops的已保存图形,则应在导入图形之前进行访问(例如)tf.contrib.resampler,因为contrib ops是在第一次访问模块时被延迟注册的。

配置:

Ubuntu 16.04LTS
python 2.7
TF 1.14 GPU
CUDA 10.1
ROS动力学

yezhao07 回答:使用tensorflow_ros_cpp在c ++ API中加载Tensorflow元图,该图已使用自定义操作在python中进行了培训

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3083604.html

大家都在问