3 个版本

0.1.5-alpha.02023 年 3 月 25 日
0.1.4-alpha.02023 年 3 月 3 日
0.1.3-alpha.02023 年 3 月 1 日

#2 in #caffe2

BSD-3-Clause

710KB
5K SLoC

caffe2-module


Crate 正在从 C++ 转换到 Rust。一些函数体可能仍在进行转换。


ModuleSchema

此类型表示 Caffe2 模块的架构。模块是一组可以作为一个单元运行的算子和相关状态。模块的架构定义了模块的输入和输出,以及任何相关参数或属性。


current_module_handles

current_modules

g_module_change_mutex

has_module

load_module

mutable_current_modules

这些函数和变量用于管理 Caffe2 模块的状态。`current_module_handles` 和 `current_modules` 分别提供对当前模块及其句柄的访问。《g_module_change_mutex》是一个互斥锁,用于同步对当前模块状态的访问。《has_module》检查模块是否当前已加载,而《load_module》将模块加载到当前模块状态。《mutable_current_modules》提供对当前模块状态的可变引用,可以用于修改已加载模块的状态。


Caffe2ModuleTestStaticDummyOp

此类型表示用于测试 Caffe2 模块的虚拟算子。算子不执行任何计算,仅用于测试 Caffe2 模块的加载和运行。


caffe2_module

module_test_dynamic_module

module_test_static_module

这些类型表示用于测试和验证的 Caffe2 模块。`caffe2_module` 是用于定义新 Caffe2 模块的宏,而 `module_test_dynamic_module` 和 `module_test_static_module` 是用于测试和验证的特定模块。


register_cpu_operator

此函数将新的 CPU 算子注册到 Caffe2 中。算子是一个执行特定计算(如卷积或矩阵乘法)的函数。将新算子注册到 Caffe2 中,使其可以在 Caffe2 模块和网络中使用。


run

此函数运行 Caffe2 模块。运行模块将按正确顺序执行模块中的所有算子,使用适当的输入和参数。


typename

此函数返回给定值的类型名称。它用于为 Caffe2 模块和算子提供类型信息。


总之,caffe2-module 是一个 Rust 包,提供了管理和运行 Caffe2 模块所需的函数和类型。Caffe2 模块是一系列算子和相关状态的集合,可以作为单个单元运行,用于深度学习中的训练和推理等任务。该包提供了加载和管理模块的函数,以及将新算子注册到 Caffe2 的函数。该包正在从 C++ 转换为 Rust 的过程中,但许多核心函数已经可用。

依赖项

~36MB
~388K SLoC