- opencv库函数编译和配置
子系统中测试方法:
g++ Function.h Function.cpp libNet.h libNet.cpp MyNet.cpp -o MyNet $(pkg-config --cflags --libs opencv4)
./MyNet- 改进策略(按照优先顺序)
- 参数改进,可调参数:
- 学习率
- 训练次数
- 网络结构改进
- 不同的隐藏层以及每个层的神经元个数
- 数据集改进
- 数据采样方法
- 过采样
- 欠采样
- 数值正则化
- 全部统一正则
- 不正则
- 对分类特征数据进行数值类别转换
- 数据采样方法
- 参数改进,可调参数:
| 激活函数 | 网络结构 | 初始偏置 | 初始权重 | 学习率 | 训练轮次 | 准确率 |
|---|---|---|---|---|---|---|
- 由于初始权重都设置为相同的值,会导致输出为一个值,也就是没有得到充分训练时,输出的结果都是一个值
数据集
- 对数据进行正则化
- 过采样:原始
- 过采样:对分类特征进行处理
- 欠采样:原始
- 欠采样:对分类特征进行处理
| 数据集名称 | 特征数量 | 备注 |
|---|---|---|
| input_label_0-1_train.csv | 26 | 将所有数值类型数据进行正则化后的原始数据集 |
| input_label_0-1_test.csv | 26 | - |
| input_label_0-1_train_no.csv | 13 | 不对数据进行正则化处理,保留数据集原来的味道 |
| input_label_0-1_train_no.csv | 13 | - |
| input_label_0-1_train_abc.csv | 36 | 将所有的分类特征作为字符串进行处理,即对原来列为数值类型的列也转为字符串,再进行独热编码 |
| input_label_0-1_test_abc.csv | 36 | - |
- opencv在windows子系统下配置
- 无法编译成功(windows下需要非win32的另一个版本的mingw)
- 在子系统中编译需要将opencv编译文件放到ex文件系统(ubuntu目录下)
3. 测试安装成功:
pkg-config --modversion opencv4 - 配置好opencv后,还可能找不到具体的.so链接库,需要配置文件位置
安装目录 > `/etc/ld.so.conf sudo /sbin/ldconfig -v ldconfig
-
- 编译写法:按照创建顺序写c++相关文件,h在前cpp在后,链接库:
$(pkg-config --cflags --libs opencv4) - 引入4.x版本opencv,头文件写法已经改变
<opencv2/opencv.hpp>