支持技术分享,转载或复制,请指出文章来源 此博客作者为Jack__0023
1、简介
最近有个定制掌纹识别+命理分析的项目,目前暂时找不到合适的第三方使用,也对AI和深度学习这些比较感兴趣,自己学习后处理成对应的模型+实现,这篇文章目前只分享如何入门模型训练的。
2、环境简介
每个我都大概写下版本和用途,然后我会将环境脚本安装命令放到第3章配置简介中,如果不需要的可以直接跳过第3章
2-1、Anacoda Navigator (核心开发环境)
用途:这里面集成很多东西,并且支持环境分割,用来学习和集成训练模型的,处理东西也方便。
版本建议:Anaconda3 2022.10(兼容 Python 3.7~3.9,适配代码依赖的库版本)。
2-2、Python(训练模型语言)
用途:作为模型训练、特征提取、模型导出的开发语言
版本建议:我用的是Python3.9.25
2-3、OpenCV
用途:用于图像处理和特征提取。
版本建议:我用的4.5.5.62
2-4、scikit-learn(RF 模型训练与评估)
用途:提供 RandomForestClassifier(随机森林模型训练)、train_test_split(数据集划分)、StandardScaler(特征标准化)、classification_report(模型评估)机器学习模型开发的核心库。
版本建议:1.0.2(兼容 Python 3.7~3.9,避免新版 API 变更导致代码报错)。
2-5、NumPy
用途:是 OpenCV 和 scikit-learn 的底层依赖。
版本建议:1.21.6(与 Python 3.7~3.9 适配,保证数组运算稳定性)。
2-6、Android 环境(不需要将模型放到Android推理的可以不看这个)
我的项目到时候是把python训练的模型放到Android使用,是一个物联网项目,所以我用的是最低兼容Android7,包括上面的配置都是为了兼容所以有的版本,你们看到时候具体来修改版本,详细我放环境配置里面
3、环境配置
3-1、Anaconda 基础环境配置脚本
Anaconda Navigator提供界面安装环境,但是我还是习惯用命令行脚本安装,打开命令行位置如下图

# 安装的OpenCV
pip install opencv-python==4.9.0.80 --force-reinstall -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装scikit-learn
pip install scikit-learn==1.2.2 --force-reinstall -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装NumPy
pip install numpy==1.26.4 --force-reinstall -i https://pypi.tuna.tsinghua.edu.cn/simple
# 验证最终版本
pip list | findstr /i "opencv-python scikit-learn numpy"
3-2、Android 基础环境配置内容
因为就算有模型,但是我们还是需要有提取特征功能,方便更加贴近Python上进行分析的效果,所以需要Opencv,我下面说几个主要的,可以直接看build配置
3-2-1、Opencv配置
Opencv版本是4.7.0,因为我之前有项目已经使用了,所以我是以module的形式导入使用的,你们可以改为build里面引用
3-2-2、Java版本指定Java8
3-2-3、ndkVersion ‘22.1.7171670’
具体build配置内容如下(dependencies 里面只有关键的,你复制那个就行)
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 29
ndkVersion '22.1.7171670'
defaultConfig {
applicationId "com.yxm.palm"
minSdkVersion 24
targetSdkVersion 29
versionCode 1
versionName "1.0.0"
missingDimensionStrategy 'PDF-Libaray', "system"
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
applicationVariants.all {
variant ->
variant.outputs.each {
output ->
variant.outputs.all {
outputFileName = "sample-app-core-java.apk"
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes


682

被折叠的 条评论
为什么被折叠?



