恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

SurrealML 如何本地构建 Rust 二进制、训练模型并运行 core 库测试

  • 首页
  • 资讯中心
  • /
  • SurrealML 如何本地构建 Rust 二进制、训练模型并运行 core 库测试

相关资讯

OpenMontage Avatar Spokesperson 流水线发布指南:Publish Director 交付打包、消息元数据与关卡审批实战 2026/9/12 17:10:12
Skynet 日志轮转实战:3 处改动,让游戏服务器告别日志雪崩 2026/9/12 17:10:12
SadTalker 零基础快速上手:单张照片加音频 5 分钟生成说话视频 2026/9/12 17:10:12

最新资讯

AI如何革新论文写作:从文献管理到格式优化
家族企业生存策略与职业经理人能力模型
数字序列999999999的技术应用与优化实践
LeetCode hot100——104.二叉树的最大深度
SSM宿舍管理系统实战:从数据库设计到核心代码解析
情感歌单背后的神经科学与声学原理

今日推荐

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现
【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)
【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

本周热门

超人会飞不算本事:系统稳定依赖清晰规则与边界设计
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
基于CNN的调制信号识别:MATLAB实现时频图分类实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

SurrealML 如何本地构建 Rust 二进制、训练模型并运行 core 库测试

发布时间:2026/9/12 17:10:12
SurrealML 如何本地构建 Rust 二进制、训练模型并运行 core 库测试 SurrealML 如何本地构建 Rust 二进制、训练模型并运行 core 库测试【免费下载链接】surrealdbA scalable, distributed, collaborative, document-graph database, for the realtime web项目地址: https://gitcode.com/GitHub_Trending/su/surrealdb要在 SurrealDB 仓库中本地跑通 SurrealML 的 Python 测试与 Rustcore库测试需要依次完成三件事先编译 Rust 二进制并把动态库放到 Python 包能引用的位置再按机器学习框架分别训练测试模型最后用 feature 参数只运行对应框架的core库测试。SurrealML 的模型存储与执行逻辑是用 Rust 实现的所以 Python 测试实际引用的是编译出来的 Rust 库测试 README 明确指出如果 Rust 二进制没有编译单元测试会因为引用到不存在的二进制而失败。准备条件以下要求来自 surrealml/tests/README.md 与 surrealml/README.md机器上有python3编译脚本要用python3 -m venv创建虚拟环境和 Rust 工具链pip install会触发 Rust 编译。每个机器学习库Scikit Learn、PyTorch、TensorFlow、ONNX都要用独立的 Python 环境。README 说明原因各机器学习库之间存在依赖冲突。如果你还要把模型上传到 SurrealDB 节点上运行需要 SurrealDB 已安装并运行只跑本文章的本地构建与测试时不涉及服务器。注意 SurrealML 当前仓库结构与测试脚本假设的路径不完全一致脚本在代码里按modules/core、包目录surrealml/等旧布局解析路径见 build_assets.py而当前仓库中模型目录实际是 surrealml/core/model_stash/。本文按仓库文档给出命令执行时以你机器上的实际目录为准。编译 Rust 二进制运行 local_build.pysurrealml包根目录下执行对应当前仓库的surrealml/目录python tests/scripts/local_build.py运行前提README 逐条列出必须处于 repo 根目录运行前不要激活任何虚拟环境因为脚本会自建一个临时虚拟环境用于构建。副作用必须清楚脚本 local_build.py 开始时会清理旧文件删除tests/venv、build/、surrealml.egg-info、target/这些目录以及包内已有的rust_surrealml.so然后新建 venv、执行pip install编译 Rust 库并把产物移动到包目录、命名为rust_surrealml.so。这些目录如果包含你的本地改动会直接丢失执行前自行确认。脚本完成后Python 测试就能引用到rust_surrealml.so。这一步存在的意义README 的表述是模型在 Python 包内本地能跑就能保证在生产环境的 Rust 里以同样的方式跑。训练测试模型每个框架一个独立环境surml目标支持能转换为 ONNX 的模型。为了保持反馈闭环测试集是围绕刚训练出来的模型跑的由于各机器学习库依赖冲突训练与生成脚本按框架拆成了独立文件。在对应框架的独立环境里从surrealml包根目录执行# Scikit Learn python tests/model_builder/sklearn_assets.py # PyTorch python tests/model_builder/torch_assets.py # TensorFlow python tests/model_builder/tensorflow_assets.py # ONNX python tests/model_builder/onnx_assets.py这些脚本会训练模型并把产物存到测试所需的位置训练产物落在core/model_stash/下按框架分目录每个框架下有surml/与onnx/两个子目录以 surrealml/core/model_stash/ 的结构为准。各脚本自己pip install固定版本依赖例如 sklearn_assets.py 安装skl2onnx1.16.0和scikit-learn1.4.0onnx_assets.py 安装onnx1.16.0、scikit-learn1.4.0、skl2onnx1.16.0脚本会先删除该框架的 stash 子目录再重新生成。如果你刚克隆仓库或者要为 CI 流程准备模型README 提醒需要确保在依赖这些模型之前运行 build_assets.py。与上面的单框架脚本不同它会一次性训练 sklearn、onnx、torch、tensorflow 四套模型并且会先删除整个model_stash目录再重建、结束前删除.surmlcache。只训练某个框架时不要误用这个全量入口。运行 core 库测试core库的测试逻辑是加载surml文件并对从surml文件加载的模型执行一次推理见 surrealml/core/README.md。因为你可能只针对某个机器学习库训练了模型README 要求测试也只跑那个库。先cd到core目录测试 README 写作cd ../core再按已训练的框架选择 feature# Scikit Learn cd ../core cargo test --features sklearn-tests # PyTorch cd ../core cargo test --features torch-tests # TensorFlow cd ../core cargo test --features tensorflow-tests # ONNX cd ../core cargo test --features onnx-tests这些 feature 开关在 surrealml/core/Cargo.toml 中定义sklearn-tests、onnx-tests、torch-tests、tensorflow-tests另有gpuREADME 未给出本地用法。cargo test通过即说明该框架的surml模型加载与推理测试通过没有测试通过的输出即代表失败。编译core时还有两个与运行环境相关的设置来自 surrealml/core/README.md默认不配置任何东西时crate 会把 ONNX runtime 直接编译进二进制不需要单独安装 ONNX runtime也不会有与其他 runtime 的版本冲突。使用这个 crate 时ONNX 版本必须和客户端一致core README 声明当前 Surml 版本的 ONNX 是1.16.0。如果想改用系统已安装的 ONNX runtime在编译 crate 之前设置环境变量ONNXRUNTIME_LIB_PATH指向它README 说明 Nix 环境目前不直接支持默认编译方式必须定义该变量。可选用 Docker 容器跑一遍 CI 检查surrealml/README 提供了一条不依赖上面手工环境的替代路径在仓库中执行cargo make --no-workspace preflight它会在一组 docker 容器里运行动态 C 库加载测试以及sklearn、tensorflow、pytorch的core测试。需要可用的 docker 环境它与上面的本地路径是二选一的关系不需要同时执行。【免费下载链接】surrealdbA scalable, distributed, collaborative, document-graph database, for the realtime web项目地址: https://gitcode.com/GitHub_Trending/su/surrealdb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号