Tensorflow报错:Python: FailedPreconditionError: Attempting to use uninitialized value

38 篇文章 1 订阅
6 篇文章 0 订阅

Python: FailedPreconditionError (see above for traceback): Attempting to use uninitialized value matching_filenames_7

《machine learning with tensorflow》上第5章有这样一段代码,

原来的代码是这样的,

import tensorflow as tf    
​
filenames = tf.train.match_filenames_once("./audio_dataset/*.wav")
count_num_files = tf.size(filenames)
print(count_num_files)
filename_queue = tf.train.string_input_producer(filenames) 
reader = tf.WholeFileReader()
filename, file_contents = reader.read(filename_queue)
​
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer()) 
 
    num_files = sess.run(count_num_files)
 
    coord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(coord=coord)
    for i in range(num_files):
        audio_file = sess.run(filename)
        print(audio_file)

运行就是不通过,

报错如下,

FailedPreconditionError (see above for traceback): Attempting to use uninitialized value matching_filenames_7
     [[Node: matching_filenames_7/read = Identity[T=DT_STRING, _device="/job:localhost/replica:0/task:0/device:CPU:0"](matching_filenames_7)]]

解决办法

init = (tf.global_variables_initializer(), tf.local_variables_initializer())
with tf.Session() as sess:
    sess.run(init) 

我这里用的python3.6.5, 估计python版本更新后,对局部变量有了严格的初始化要求。

当启动HDFS时,如果出现错误"ERROR: Attempting to operate on hdfs namenode as root",这意味着你正在尝试以root用户身份操作HDFS的namenode,但是没有定义HDFS_NAMENODE_USER。这是因为Hadoop在安全性方面的最佳实践是使用非root用户来运行Hadoop服务,以减少潜在的安全风险。要解决这个问题,你可以按照以下方法之一进行操作: 方法一:在启动HDFS之前,通过编辑start-dfs.sh文件,在顶部添加以下参数: ``` HDFS_NAMENODE_USER=root ``` 然后保存并重新启动HDFS。 方法二:在环境配置文件(如.bashrc或.hadooprc)中添加以下变量并将其设置为root用户: ``` export HDFS_NAMENODE_USER=root ``` 然后重新加载配置文件并重新启动HDFS。 无论你选择哪种方法,这样做都会将HDFS的namenode运行权限更改为root用户。请注意,这可能会带来一些安全风险,并且只应在测试或开发环境中使用。在生产环境中,建议使用一个专门的非root用户来运行HDFS。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [hadoop启动报错Attempting to operate on hdfs namenode as root](https://blog.csdn.net/hzp666/article/details/117465157)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值