发布于2026-06-29 阅读(0)
扫一扫,手机访问
要在Ubuntu上搞C++机器学习,第一步自然是把编译工具和依赖库备齐。直接打开终端,敲下这几行命令就行:

sudo apt update && sudo apt upgradesudo apt install build-essential cmake git——这些都是编译C++项目和链接机器学习库的硬功夫,缺一不可。C++生态里可选的机器学习库不少,关键看你要干什么:
sudo apt install libdlib-devsudo apt install libmlpack-devsudo apt install libshark-devsudo apt install libopencv-dev做C++项目,CMake是标配工具。你得创建一个CMakeLists.txt来配置项目。拿Dlib举例,内容大概长这样:
cmake_minimum_required(VERSION 3.10)
project(MyMLProject)
set(CMAKE_CXX_STANDARD 11) # 或14/17,根据库要求调整
find_package(Dlib REQUIRED)
add_executable(MyMLProject main.cpp)
target_link_libraries(MyMLProject Dlib::Dlib)
如果用Flashlight(需要提前编译并安装好),配置则这样写:
cmake_minimum_required(VERSION 3.10)
project(MyMLProject)
set(CMAKE_CXX_STANDARD 17)
find_package(Flashlight REQUIRED)
add_executable(MyMLProject main.cpp)
target_link_libraries(MyMLProject Flashlight::Flashlight)
这里find_package负责定位库的头文件和链接库,target_link_libraries则把库真正挂到项目里。
来看一个Dlib线性SVM分类器的实际例子:
#include
#include
#include
using namespace dlib;
int main() {
try {
// 定义2维特征向量和标签类型
typedef matrix sample_type;
typedef decision_function> dec_funct_type;
typedef normalized_function funct_type;
// 创建训练数据(示例:二维平面上的两类点)
std::vector samples;
std::vector labels;
samples.push_back({1.0, 2.0}); labels.push_back(1);
samples.push_back({2.0, 3.0}); labels.push_back(1);
samples.push_back({3.0, 3.0}); labels.push_back(-1);
samples.push_back({4.0, 5.0}); labels.push_back(-1);
// 训练线性SVM
typedef linear_kernel kernel_type;
svm_c_trainer trainer;
trainer.set_kernel(kernel_type());
dec_funct_type df = trainer.train(samples, labels);
// 预测新样本
sample_type test_sample = {2.5, 2.5};
double prediction = df(test_sample);
std::cout << "Prediction: " << prediction << std::endl;
} catch (std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
return 1;
}
return 0;
}
这段代码实现了二维数据的线性SVM训练与预测,实际任务中你得根据自己的数据格式来调整加载和模型参数。
mkdir build && cd buildcmake ..make./MyMLProject如果用了TensorFlow C++ API,还得额外链接TensorFlow库(比如-ltensorflow),并指定头文件路径(例如-I/path/to/tensorflow/include)。
sudo apt autoremove清理无用包,或者用conda创建隔离环境(比如conda create -n ml_env python=3.8),省心不少。下一篇:如何使用grep高效搜索日志
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8