SemDB 示例教程
编程语言支持:C++

SemDB 系统提供一个读取模型配置的 JSON 文件并复现模型效果的 C++ 库以供使用和参考。 该 C++ 库可以从文件中读取模型的配置并创建模型,然后随时调用模型得到结果。

库函数的代码可以在页面最下方下载,其中读取 json 文件的部分基于开源 json 库 ( https://github.com/nlohmann/json )

使用该库文件时,首先解压并将其中的lib文件夹拷贝到您的 C++ 项目中,并将该文件夹设置在项目的 include path 内, 然后即可在程序中引用该库引用并调用相应库函数。下面是一段分类模型的示例代码:

#include "model.h"

int main() {
  nlohmann::json data;
  std::ifstream fin("classification.json");
  if (fin.is_open()) {
    fin >> data;

    SemDB::ClassificationModel<SemDB::NeuralNetwork> model(data);
    auto result = model.Run(std::vector<double>{30, 50, 70});
    std::cout << result[0] << " " << result[1] << " " << result[2] << "\n";
  }
}

简单来说,首先利用读取的 json 配置文件完成模型类的创建,然后调用模型的Run函数即可获取结果。

排序模型的构建非常类似,仅有的不同是Run函数仅返回一个数值,如下例所示:

#include "model.h"

int main() {
  nlohmann::json data;
  std::ifstream fin("ranking.json");
  if (fin.is_open()) {
    fin >> data;

    SemDB::RankingModel<SemDB::NeuralNetwork> model(data);
    auto result = model.Run(std::vector<double>{30, 50, 70});
    std::cout << result << "\n";
  }
}

点击下面的按钮可以下载 C++ 库的代码和示例程序。

© 2025