gpt4 book ai didi

python - 文件 “test_hdfs.py”,save_path = saver.save(sess,hdfs_path +“save_net.ckpt”) “Parent directory of {} doesn'存在,无法保存。”。format(save_path))

转载 作者:行者123 更新时间:2023-12-02 20:47:14 25 4
gpt4 key购买 nike

如何使用saver.save和FileWriter函数将检查点文件和事件日志直接写入hdfs?
我运行我的代码:

W = tf.Variable([[1,2,3],[3,4,5]], dtype=tf.float32, name='weights')
b = tf.Variable([[1,2,3]], dtype=tf.float32, name='biases')
init = tf.global_variables_initializer()
saver = tf.train.Saver()

with tf.Session() as sess:
sess.run(init)
save_path = saver.save(sess, hdfs_path+"save_net.ckpt")
print("Save to path: ", hdfs_path)

当我将hdfs_path替换为本地路径时,它运行正常。但是当我运行hdfs_path时:
File "test_hdfs.py", line 73, in <module>
save_path = saver.save(sess, hdfs_path+"save_net.ckpt")
File "/data/anaconda2/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 1354, in save
"Parent directory of {} doesn't exist, can't save.".format(save_path))

当我使用tf.summary.FileWriter函数时,也会类似地发生。当我使用hdfs_path时,程序卡住了。当我使用local_path时,它运行正常。

我的整个代码是这样的:
hdfs_path="hdfs://*" 
local_path = "./"
with tf.Session(graph=tf.get_default_graph()) as sess:
W = tf.Variable([[1,2,3],[3,4,5]], dtype=tf.float32, name='weights')
b = tf.Variable([[1,2,3]], dtype=tf.float32, name='biases')
init = tf.group(tf.global_variables_initializer(),tf.local_variables_initializer())
saver = tf.train.Saver()
sess.run(init)
summary_writer = tf.summary.FileWriter(hdfs_path,graph_def=sess.graph_def)
saver.save(sess,save_path=hdfs_path+"save_net.ckpt")

最佳答案

启动TensorFlow程序时,必须设置以下环境变量:

JAVA_HOME:Java安装的位置。
HADOOP_HDFS_HOME:HDFS安装位置。您还可以通过运行以下命令来设置此环境变量:

shell source ${HADOOP_HOME}/libexec/hadoop-config.sh

LD_LIBRARY_PATH:如果Hadoop发行版未在$ HADOOP_HDFS_HOME / lib / native中安装libhdfs.so,则包括libjvm.so的路径,并可选地包括libhdfs.so的路径。在Linux上:
shell export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JAVA_HOME}/jre/lib/amd64/server:$HADOOP_HDFS_HOME/lib/native

在运行TensorFlow程序之前,必须添加Hadoop jar。 $ {HADOOP_HOME} /libexec/hadoop-config.sh设置的CLASSPATH不足。必须按照libhdfs文档中的说明扩展Glob:

然后使用 shell find /hadoop_home/ -name *.jar|awk '{ printf("export CLASSPATH=%s:$CLASSPATH\n", $0); }'将hadoop jar添加到您的路径。导出所有打印后,使用 shell python your_script.py运行。

关于python - 文件 “test_hdfs.py”,save_path = saver.save(sess,hdfs_path +“save_net.ckpt”) “Parent directory of {} doesn'存在,无法保存。”。format(save_path)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47456415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com