簡體   English   中英

如何使用 Bazel 在 Windows 上使用 C++ API 庫進行編程?

[英]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

問題是什么

但是,我不知道接下來應該做什么才能使用構建的結果。 這正是我的問題所在 當然沒有文檔。 我只找到了一些不完整的想法,我將展示所有這些想法,試圖為您提供更多信息:

一定有人像我一樣在為類似的問題而苦苦掙扎。 我希望這個問題可以建立一個解決問題的方法庫。

自問這個問題以來已有 2 年多了,而且消息並不好:似乎沒有足夠的具有 Windows 技能的人能夠使用熟悉的標頭 + 庫模型提供支持將 Tensorflow 集成到 Windows 應用程序中。 而 Tensorflow 每周都在進步,這意味着 Windows 支持進一步落后。

根據我的評估,由於文檔不足,目前在 Windows 上構建的路徑被阻止。 與其說是 OP 斷言的“當然沒有文檔”,不如說是稀疏的文檔分布在幾十個單獨的帖子中,每個帖子都隨着 Tensorflow 沿着 Windows C++ 以外的路徑的持續發展而快速更新。

我最初對一個類似的問題給出了這個答案,但昨天用以下建議更新了它:

  • Windows 是微軟的產品,所以看看微軟在做什么
  • 您可以通過至少 3 種方式在 Windows 上使用 C++ 實現您的 (ONNX) 模型:

我們沒有最新或最好的硬件(例如,我們有 Intel 顯卡),但已經能夠獲得基於 Onnx 運行時的解決方案,該解決方案可為我們在大約 20 毫秒內對 224 x 224 RGB 圖像進行分類。 我們發現 Windows ML 路徑更難處理遺留代碼,而且運行速度也更慢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM