關於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文件,而後加入如下代碼:git

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/154github

相關文章
相關標籤/搜索