![](/img/trans.png)
[英]How to use TensorFlow C++ api as a shared library with bazel?
[英]How to program with C++ API library on Windows using Bazel?
首先,我的目標是在 Windows 上使用 Tensorflow C++ API 作為庫,這是我項目的一部分,而不是在 Tensorflow 中構建我的項目。
我通過使用 CMake 構建 Tensorflow 實現了這一目標。 但是,從 Tensorflow 1.10 開始,不再推薦使用 CMake 進行構建,而是推薦使用 Bazel。 但是使用 C++ API 的官方方法是使用Bazel 在 Tensorflow 中構建項目。 因此,這種方式對我不利。
為了使用更新版本的 Tensorflow,我一直在嘗試使用 Bazel 作為獨立庫來構建 Tensorflow。
有維護者表示可以將官方教程中的//tensorflow/tools/pip_package:build_pip_package
為//tensorflow:libtensorflow_cc.so
。 但實際上我遇到了一些問題,並通過閱讀本教程解決了這些問題。 現在我已經成功構建libtensorflow_cc.so
。
但是,我不知道接下來應該做什么才能使用構建的結果。 這正是我的問題所在。 當然沒有文檔。 我只找到了一些不完整的想法,我將展示所有這些想法,試圖為您提供更多信息:
*.so
並解決了他遇到的問題。一定有人像我一樣在為類似的問題而苦苦掙扎。 我希望這個問題可以建立一個解決問題的方法庫。
自問這個問題以來已有 2 年多了,而且消息並不好:似乎沒有足夠的具有 Windows 技能的人能夠使用熟悉的標頭 + 庫模型提供支持將 Tensorflow 集成到 Windows 應用程序中。 而 Tensorflow 每周都在進步,這意味着 Windows 支持進一步落后。
根據我的評估,由於文檔不足,目前在 Windows 上構建的路徑被阻止。 與其說是 OP 斷言的“當然沒有文檔”,不如說是稀疏的文檔分布在幾十個單獨的帖子中,每個帖子都隨着 Tensorflow 沿着 Windows C++ 以外的路徑的持續發展而快速更新。
我最初對一個類似的問題給出了這個答案,但昨天用以下建議更新了它:
我們沒有最新或最好的硬件(例如,我們有 Intel 顯卡),但已經能夠獲得基於 Onnx 運行時的解決方案,該解決方案可為我們在大約 20 毫秒內對 224 x 224 RGB 圖像進行分類。 我們發現 Windows ML 路徑更難處理遺留代碼,而且運行速度也更慢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.