当前位置:首页>综合>正文

深度学习中利用caffe如何训练自己的模型 怎么分析数学模型参数的精度和稳定性

2023-06-18 08:23:46 互联网 未知 综合

 深度学习中利用caffe如何训练自己的模型 怎么分析数学模型参数的精度和稳定性

深度学习中利用caffe如何训练自己的模型

作者:圣行
链接:https://www.zhihu.com/question/30091667/answer/47951446
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

matlab 和python没有用过。如果是习惯用opencv的话,可以使用memory_data,请参考这个链接里的例子:C Image Classification with memory_data_param · Issue #1443 · BVLC/caffe · GitHub

给一个具体点的例子吧(不知道贴代码是不是有点不合知乎气质?),总共分三步:
第一步,构造网络:
enum Phase p = TEST
Net caffe_test_net(argv[1],p)
caffe_test_net.CopyTrainedLayersFrom(argv[2])

第二步,构造数据并加入到网络输入层:
//create the input data
vector md_images
vector md_labels
//////operations for the input data
Mat original = imread("images\lena_gray.png") //随便的图片,没有实用意义,可忽略

Mat *sub_img = new Mat
for (int i = 0 i < 10 i ){
original(Range(i, i 28), Range(i, i 28)).copyTo(*sub_img) // 28x28,可以直接用lenet
md_images.push_back(*sub_img)
md_labels.push_back(0)
}

第三步,执行test操作:
for (int i = 0 i < 10 i ){
const vector*>& result = caffe_test_net.ForwardPrefilled()

怎么分析数学模型参数的精度和稳定性

正确性分析:(模型稳定性分析,稳健性分析,收敛性分析,变化趋势分析,极值分析等)
有效性分析:误差分析,参数敏感性分析,模型对比检验
有用性分析:关键数据求解,极值点,拐点,变化趋势分析,用数据验证动态模拟。
高效性分析:时空复杂度分析与现有进行比较

如何进行模型参数的选择

你说的情况我觉得可有几个解决方案吧: 1. 模型数量不多的话,要变的参数的对应于其模型是固定的,那可用UDF来定义那些模型,要变的参数给出别名,做程序时查询别名修改表达式就可以了; 2. 可用KF来做,情况跟用UDF差不多; 3. 如果模型多,可变量多,就用数据库(大型还是小型的根据需要了)吧,把变量和值存在数据库里,生产界面时把这些变量调入界面,用户修改后用这些变量驱动模型就可以了。当然,建模型时要把相应的变量创建出来赋值给模型的那些p1、p2、p3…… 希望对你有帮助。