资料介绍
软件简介
Forward 是一款腾讯研发并开源的 GPU 高性能推理加速框架。它提出了一种解析方案,可直接加载主流框架模型(Tensorflow / PyTorch / Keras / ONNX)转换成 TensorRT 推理加速引擎,帮助用户节省中间繁杂的模型转换或网络构建步骤。
相对于直接使用 TensorRT,Forward 更易用以及更容易扩展支持更多模型和算子。目前,Forward 除了覆盖支持主流的 CV,NLP 及推荐领域的深度学习模型外,还支持一些诸如 BERT,FaceSwap,StyleTransfer 这类高级模型。
特性
- 模型性能优化高:基于 TensorRT API 开发网络层级的支持,保证对于通用网络层级的推理性能优化处于最优级别;
- 模型支持范围广:除了通用的 CV,NLP,及推荐类模型,还支持一些诸如 BERT,FaceSwap,StyleTransfer 这类高级模型;
- 多种推理模式:支持 FLOAT / HALF / INT8 推理模式;
- 接口简单易用:直接导入已训练好的 Tensorflow(.pb) / PyTorch(.pth) / Keras(.h5) / ONNX(.onnx) 模型文件,隐式转换为高性能的推理 Engine 进行推理加速;
- 支持自研扩展:可根据业务模型扩展支持自定义网络层级;
- 支持 C++ 和 Python 接口调用。
快速上手 Forward
环境依赖
- NVIDIA CUDA >= 10.0, CuDNN >= 7 (推荐 CUDA 10.2 以上)
- TensorRT >= 7.0.0.11 (推荐 TensorRT-7.2.1.6)
- CMake >= 3.12.2
- GCC >= 5.4.0, ld >= 2.26.1
- PyTorch >= 1.7.0
-
TensorFlow >= 1.15.0 (若使用 Linux 操作系统,需额外下载 Tensorflow 1.15.0,并将解压出来的
.so
文件拷贝至Forward/source/third_party/tensorflow/lib
目录下) -
Keras HDF5 (从
Forward/source/third_party/hdf5
源码构建)
项目构建
使用 CMake 进行构建生成 Makefiles 或者 Visual Studio 项目。根据使用目的,Forward 可构建成适用于不同框架的库,如 Fwd-Torch、Fwd-Python-Torch、Fwd-Tf、Fwd-Python-Tf、Fwd-Keras、Fwd-Python-Keras、Fwd-Onnx 和 Fwd-Python-Onnx。
以 Linux 平台构建 Fwd-Tf 为例,
步骤一:克隆项目
1 git clone https://github.com/Tencent/Forward.git
步骤二:下载 Tensorflow 1.15.0
(仅在 Linux 平台使用 Tensorflow 框架推理时需要)
1 cd Forward/source/third_party/tensorflow/ 2 wget https://github.com/neargye-forks/tensorflow/releases/download/v1.15.0/libtensorflow-cpu-linux-x86_64-1.15.0.tar.gz 3 tar -xvf libtensorflow-gpu-linux-x86_64-1.15.0.tar.gz
步骤三:创建 build
文件夹
1 cd ~/Forward/ 2 rm -rf build 3 mkdir -p build 4 cd build/
步骤四:使用 cmake
生成构建关系,需指定 TensorRT_ROOT
安装路径
1 cmake .. -DTensorRT_ROOT=<path_to_TensorRT> -DENABLE_TENSORFLOW=ON -DENABLE_UNIT_TESTS=ON
步骤五:使用 make
构建项目
1 make -j
步骤六:运行 unit_test
验证项目是否构建成功
cd bin/ ./unit_test --gtest_filter=TestTfNodes.* # 出现已下提示表示项目构建成 # [ OK ] TestTfNodes.ZeroPadding (347 ms) # [----------] 22 tests from TestTfNodes (17555 ms total) # [----------] Global test environment tear-down # [==========] 22 tests from 1 test case ran. (17555 ms total) # [ PASSED ] 22 tests.
Logging 日志
Forward 使用 easylogging++ 作为日志功能,并使用 forward_log.conf
作为日志配置文件。
-
若工作目录中存在
forward_log.conf
文件,Forward 将使用该配置文件,更多内容可参考 Using-configuration-file; -
若工作目录中不存在
forward_log.conf
文件,Forward 将使用默认配置,并将日志记录到logs/myeasylog.log
。
forward_log.conf
文件配置样例
* GLOBAL: FORMAT = "[%level] %datetime %fbase(%line): %msg" FILENAME = "Forward.log" ENABLED = true TO_FILE = true TO_STANDARD_OUTPUT = true PERFORMANCE_TRACKING = true MAX_LOG_FILE_SIZE = 2097152 ## 2MB - Comment starts with two hashes (##) LOG_FLUSH_THRESHOLD = 100 ## Flush after every 100 logs
模型和算子支持
当前 Forward 的模型与算子支持如下所示,如有需要添加更多支持的,欢迎联系添加 Issue 反馈。如需要自行扩展添加支持的,可参考 开源共建:扩展添加支持操作的流程
模型
算子
参考资料
- 深度学习边缘计算综述论文阅读笔记
- ChatGPT:AI模型框架研究 1次下载
- 基于AdderNet的深度学习推理加速器
- 基于深度学习的矩阵乘法加速器设计方案 3次下载
- 基于深度学习的神经协同过滤推荐系统 5次下载
- 基于预训练模型和长短期记忆网络的深度学习模型 19次下载
- 3小时学习神经网络与深度学习课件下载 0次下载
- 基于计算机视觉和NLP的跨媒体问答与推理 8次下载
- 深度模型中的优化与学习课件下载 3次下载
- 一种基于机器学习的流簇大小推理模型 34次下载
- 一种基于框架特征的共指消解方法 7次下载
- 新型基于深度学习的目标实时跟踪算法 10次下载
- 深度学习入门:基于Python的理论与实现电子书 30次下载
- python机器学习和深度学习的学习书籍资料免费下载 93次下载
- 深度学习是什么?了解深度学习难吗?让你快速了解深度学习的视频讲解 16次下载
- TensorFlow与PyTorch深度学习框架的比较与选择 529次阅读
- 视觉深度学习迁移学习训练框架Torchvision介绍 734次阅读
- 三种主流模型部署框架YOLOv8推理演示 2365次阅读
- 一文了解Intel®Developer Cloud之DL Workbench深度学习工作台 1095次阅读
- PyTorch开源深度学习框架简介 4235次阅读
- 深度学习框架你了解多少 2164次阅读
- 多智体深度强化学习研究中首次将概率递归推理引入AI的学习过程 4743次阅读
- 有多快?华为云刷新深度学习加速纪录 5134次阅读
- PLASTER:一个与深度学习性能有关的框架 3413次阅读
- 深度学习发展的5个主力框架 3988次阅读
- 为什么选择Caffe深度学习框架Caffe的安装和程序概述 4135次阅读
- 百度发布Visual DL 使得深度学习任务变得生动形象,实现可视分析 4775次阅读
- 深度学习框架与前端接口介绍 8682次阅读
- 深度学习框架Keras代码解析 4478次阅读
- 深度学习开源框架,AI从业者的选择之路 2367次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多