关于Tensorflow调试出现问题总结

  • ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory #5343:针对这个问题首先先分析你电脑是否装了cuda8.0,若不是,这可能是你在默认tensorflow配置时没有选择正确的cuda支持版本,这里补充说道,tensorflow用pip安装默认是cuda8.0版本,所以如果是cuda7.0的朋友需要用源码手动设置安装,但是对于cuda9.0,目前tensorflow不支持,如果想要安装,可以采用源码+补丁形式,不过过程相当麻烦,涉及bazel,gcc等。若是正确的cuda8.0,此时出现问题最有可能是因为没有设置环境变量,可在命令行输入export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64,立刻解决。
  • SSD-Tensorflow:TypeError: Can not convert a tuple into a Tensor or Operation:此问题在github有详细解答,具体如下,打开eval_ssd_network.py文件,然后加入以下代码:

def flatten(x):  
    result = []  
    for el in x:  
         if isinstance(el, tuple):  
               result.extend(flatten(el))  
         else:  
               result.append(el)  
    return result  
# Waiting loop.  
            slim.evaluation.evaluation_loop(  
                master=FLAGS.master,  
                checkpoint_dir=checkpoint_path,  
                logdir=FLAGS.eval_dir,  
                num_evals=num_batches,  
                eval_op=flatten(list(names_to_updates.values())), #这里调用flatten  
                variables_to_restore=variables_to_restore,  
                eval_interval_secs=60,  
                max_number_of_evaluations=np.inf,  
                session_config=config,  
                timeout=None)  
# Standard evaluation loop.  
            start = time.time()  
            slim.evaluation.evaluate_once(  
                master=FLAGS.master,  
                checkpoint_path=checkpoint_path,  
                logdir=FLAGS.eval_dir,  
                num_evals=num_batches,  
                eval_op=flatten(list(names_to_updates.values())), #这里也调用flatten  
                variables_to_restore=variables_to_restore,  
                session_config=config)  

本问题是在编译tensorflow-ssd源码时遇到的https://github.com/balancap/SSD-Tensorflow,参考链接为https://github.com/balancap/SSD-Tensorflow/issues/154

 

posted @ 2017-11-20 16:09  PirateLHX  阅读(1646)  评论(0编辑  收藏  举报