[譯] 系列教程:Installing TensorFlow for C

本文出自 掘金翻譯計劃 正在組織翻譯的 TensorFlow 官方文檔。若是您有興趣,歡迎 申請成爲譯者,學習完譯者教程後,參與到文章和文檔的翻譯和及對當中。咱們也正在招募 TensorFlow 譯者,歡迎積極參加。前端


TensorFlow 在 c_api.h中定義了一套 C API,用來提供適合於創建和其餘語言的綁定. 這套 API 傾向於簡單性和一致性,而不是方便。linux

支持的平臺

你可能會在下面的操做系統上安裝用於 C 的 TensorFlow:android

  • Linux
  • Mac OS X

安裝

採起下面幾步來安裝用於 C 的 TensorFlow 庫,而後打開用於 C 的 TensorFlow:ios

  1. 選擇你將會僅僅運行用於 C 的 TensoFlow 在 CPU(S)上,仍是有 GPU(S)的幫助。爲了幫你作出選擇,在如下指南中閱讀這一節,標題爲決定安裝哪一個TensorFlow」:
    * @{$install_linux#determine_which_tensorflow_to_install$Installing TensorFlow on Linux}
    * @{$install_mac#determine_which_tensorflow_to_install$Installing TensorFlow on Mac OS}
    複製代碼
  2. 經過調用下面的 shell 命令,下載而且解壓 TensorFlow 的 C 庫到 /usr/local/lib
TF_TYPE="cpu" # Change to "gpu" for GPU support
OS="linux" # Change to "darwin" for Mac OS
TARGET_DIRECTORY="/usr/local"
curl -L \
  "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-${TF_TYPE}-${OS}-x86_64-1.4.0-rc0.tar.gz" |
  sudo tar -C $TARGET_DIRECTORY -xz
複製代碼

tar 命令會解壓 TensorFlow C 庫到 TARGET_DIRECTORY 的子目錄 lib中。好比指定 /usr/local 做爲 TARGET_DIRECTORY,那麼 tar 就會解壓TensorFlow C 庫到 /usr/local/libgit

若是你更但願解壓庫到不一樣的目錄,那麼相應的調整 TARGET_DIRECTORYgithub

  1. 在上一步中,若是你指定了一個系統目錄(好比,/usr/local)做爲 TARGET_DIRECTORY,而後運行 ldconfig 配置連接器。 好比:
sudo ldconfig

若是你指定了一個 TARGET_DIRECTORY 而不是系統目錄,(好比,~/mydir),那麼你必須設定你的解壓目錄(好比,~/mydir/lib)到兩個環境變量中。 好比:shell

 export LIBRARY_PATH=$LIBRARY_PATH:~/mydir/lib # For both Linux and Mac OS X
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/mydir/lib # For Linux only
  export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:~/mydir/lib # For Mac OS X only

驗證你的安裝

在安裝完成以後,新建文件,輸入如下代碼,文件命名爲 hello_tf.c:後端

#include <stdio.h>
#include <tensorflow/c/c_api.h>

int main() {
  printf("Hello from TensorFlow C library version %s\n", TF_Version());
  return 0;
}
複製代碼

編譯和運行

調用如下命令來編譯 hello_tf.capi

gcc hello_tf.c

運行生成的可執行文件應該輸出如下消息:bash

a.out
Hello from TensorFlow C library version number

定位問題

若是程序編譯失敗,最有可能的錯誤是 gcc 找不到 TensorFlow C 庫.解決這個問題的方法是爲 gcc 指定 -I-L 選項.好比,TARGET_LIBRARY/usr/local,你應該這樣調用 gcc

gcc -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow

若是執行 a.out 失敗,你就要問問本身這幾個問題了:

  • 這個程序編譯有沒有錯誤?
  • 是否按第三步 安裝, 指定了正確的環境變量的目錄?
  • 是否有正確的 export 這些環境變量?

若是你仍然會有編譯或者運行的錯誤信息, 請到 StackOverflow 尋找或者請求可能的解決方案.


掘金翻譯計劃 是一個翻譯優質互聯網技術文章的社區,文章來源爲 掘金 上的英文分享文章。內容覆蓋 AndroidiOS前端後端區塊鏈產品設計人工智能等領域,想要查看更多優質譯文請持續關注 掘金翻譯計劃官方微博知乎專欄

相關文章
相關標籤/搜索