python - 如何在 ML.NET 上加载和运行 Intel-Tensorflow 模型
问题描述
环境:Tensorflow 2.4、Intel-Tensorflow 2.4
据我所知,pb格式的Tensorflow模型可以加载到ML.NET上。
但是,我使用的是一个量化包 LPOT(https://github.com/intel/lpot),它利用了英特尔优化的 Tensorflow(https://github.com/Intel-tensorflow/tensorflow)。尽管 Intel-Tensorflow 是基于 Tensorflow 构建的,但它使用了一些在 Tensorflow 上没有注册 OpKernel 的量化操作(例如,在 TF 上不推荐使用“QuantizedMatmulWithBiasAndDequantize”)。因此,如果不安装 Intel-Tensorflow,量化模型无法在原生 Tensorflow 环境下运行。
我的目标是在 ML.NET 上运行这个量化的 pb Intel-Tensorflow 模型,有人知道 ML.NET 上是否支持 Intel-Tensorflow 吗?或者有没有其他方法可以做到这一点?
非常感谢任何帮助/建议。
解决方案
ML.NET 中支持的 oneDNN 取决于 ML.NET 集成。如果他们在 TensorFlow C++ API 中启用 oneDNN,ML.NET 就可以支持 oneDNN。
您可以尝试在启用了英特尔 OneDNN 的 ML.NET 环境中安装现有的Tensorflow 2.5 。您可以通过以下链接安装库存的 Tensorflow 轮:https ://pypi.org/project/tensorflow/#files
要安装轮文件:pip install __.whl
.
要启用 oneDNN 优化,请设置环境变量 TF_ENABLE_ONEDNN_OPTS:
set TF_ENABLE_ONEDNN_OPTS=1
为确保显示详细日志:set DNNL_VERBOSE=1
更多oneDNN详细模式请参考:https ://oneapi-src.github.io/oneDNN/dev_guide_verbose.html
有关 TensorFlow 的英特尔优化的更多信息,请参阅:https ://software.intel.com/content/www/us/en/develop/articles/intel-optimization-for-tensorflow-installation-guide.html
推荐阅读
- c++ - 如何通过莱布尼茨系列找到 pi 5 位的值
- pandas - 如何删除数据框中的时间段?
- python - 带有while循环的函数没有中断
- android - 浏览不同的页面
- android - 我将如何重复此操作?
- reactjs - 如何使道具功能可选
- flutter - 在颤动中路由到另一个屏幕时,没有为类仪表板定义方法 RegisterCustomer
- tmux - Tab 按钮在 tmux 中不起作用仅在按下 shift-tab 时起作用。怎么修?
- mysql - Shiny 的 RadioButton 选择值未正确存储在 MySQL 数据库中
- google-cloud-platform - GKE 流量整形或带宽限制