Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C+中保存和恢复TensorFlow图及其状态+;? 我用C++中的TysFooLo训练模型。Python仅用于构造图形。那么,有没有一种方法可以在C++中保存和恢复图形及其状态呢?我知道Python类 TF.To.Save,但据我理解,C++中不存在.< /P> < P> < Cuth.Tave>代码>类,目前只存在于Python中,但是(i)它是由C++中运行的TysFunsOPS构建的,以及(ii)它公开了一个方法,该方法允许您获得一个包含必须运行以保存或恢复模型的ops名称的_C++_Tensorflow - Fatal编程技术网

如何在C+中保存和恢复TensorFlow图及其状态+;? 我用C++中的TysFooLo训练模型。Python仅用于构造图形。那么,有没有一种方法可以在C++中保存和恢复图形及其状态呢?我知道Python类 TF.To.Save,但据我理解,C++中不存在.< /P> < P> < Cuth.Tave>代码>类,目前只存在于Python中,但是(i)它是由C++中运行的TysFunsOPS构建的,以及(ii)它公开了一个方法,该方法允许您获得一个包含必须运行以保存或恢复模型的ops名称的

如何在C+中保存和恢复TensorFlow图及其状态+;? 我用C++中的TysFooLo训练模型。Python仅用于构造图形。那么,有没有一种方法可以在C++中保存和恢复图形及其状态呢?我知道Python类 TF.To.Save,但据我理解,C++中不存在.< /P> < P> < Cuth.Tave>代码>类,目前只存在于Python中,但是(i)它是由C++中运行的TysFunsOPS构建的,以及(ii)它公开了一个方法,该方法允许您获得一个包含必须运行以保存或恢复模型的ops名称的,c++,tensorflow,C++,Tensorflow,在Python中,可以按如下方式获取保存和还原操作的名称: saver = tf.train.Saver(...) saver_def = saver.as_saver_def() # The name of the tensor you must feed with a filename when saving/restoring. print saver_def.filename_tensor_name # The name of the target operation you mus

在Python中,可以按如下方式获取保存和还原操作的名称:

saver = tf.train.Saver(...)
saver_def = saver.as_saver_def()

# The name of the tensor you must feed with a filename when saving/restoring.
print saver_def.filename_tensor_name

# The name of the target operation you must run when restoring.
print saver_def.restore_op_name

# The name of the target operation you must run when saving.
print saver_def.save_tensor_name

< C++ >从检查点还原,调用“代码>会话::”()/COD>,将检查点文件的名称以“代码> SaveLeDeF.FieleMaTySoRoMyNo.<代码>,以目标代码为“代码> SAVLYDEF。要保存另一个检查点,您调用“代码>会话::/(代码)>,再次将检查点文件的名称作为代码< SaveLeDeF.FielnMaEnTySoRoMyNo.<代码>,并取值<代码> SaveReDeF.SaveSytRoSoRyNox< /C> > .P/> < P>最近的TysFooSurf版本包含一些辅助函数,在没有Python的C++中实现相同的功能。这些是从pip包中的ProtoBuf生成的(
${HOME}/.local/lib/python2.7/site-packages/tensorflow/include/tensorflow/core/ProtoBuf/saver.pb.h


对于一个工作和完成。

伟大的建议!我必须从一个字符串的末尾删除“:0”。此外,在恢复模型期间,相对路径不起作用。Tensorcreation:
tf::Tensor字符串(tf::DT_字符串,tf::TensorShape({1,1}))输入字符串:
string.matrix()(0,0)=文件\路径\文件名执行:
TF_CHECK_OK(会话->运行({{“save/Const:0”,string}},{},{“save/control_dependency”},nullptr))@Trevir,mrry:你能把这段代码贴出来吗?我是tensorflow的新手,文档对我没有帮助。。我将非常感谢你@surferoffall:前面的注释包含所有必要的代码。使用python脚本获取正确的操作名称,例如“save/Const:0”。之后,您可以通过会话-> run方法在C++中使用操作名。Python脚本必须包含
saver=tf.train.saver(…)
行。我可以确认必须将“保存/控制依赖项:0”重命名为“保存/控制依赖项”@mrry你能看一下吗?
// save
tensorflow::Tensor checkpointPathTensor(tensorflow::DT_STRING, tensorflow::TensorShape());
checkpointPathTensor.scalar<std::string>()() = "some/path";
tensor_dict feed_dict = {{graph_def.saver_def().filename_tensor_name(), checkpointPathTensor}};
status = sess->Run(feed_dict, {}, {graph_def.saver_def().save_tensor_name()}, nullptr);

// restore
tensorflow::Tensor checkpointPathTensor(tensorflow::DT_STRING, tensorflow::TensorShape());
checkpointPathTensor.scalar<std::string>()() = "some/path";
tensor_dict feed_dict = {{graph_def.saver_def().filename_tensor_name(), checkpointPathTensor}};
status = sess->Run(feed_dict, {}, {graph_def.saver_def().restore_op_name()}, nullptr);