3 个版本
0.1.5-alpha.0 | 2023 年 3 月 25 日 |
---|---|
0.1.4-alpha.0 | 2023 年 3 月 3 日 |
0.1.3-alpha.0 | 2023 年 3 月 1 日 |
#2 in #caffe2
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