zoukankan      html  css  js  c++  java
  • 分类项目思路

    可以让客户端,每次选版型时,自动写入json数据到这个json文件。


    1.用init(int type,vector)

    配置是可以的,但是不能写死。一次配置不算写死。

    1、传入的json_input:
    [ {"type": i},{ "objType1": "string1"}, { "objType2": "string2"},{ "objType3": "string3"},{ "objType4": "string4"}。。。。。]

    不同机型弄不同的文件夹。

    机型1所在的配置文件,是相对路径但是有命名规范。

    config_1cfgfile
    config_1weightsfile
    config_1 amesfile


    config_2cfgfile
    config_2weightsfile
    config_2 amesfile

    不同机型
    根据 num_class =json_input.sizeOf() -1 可以得到板具有的类别数目
    比如那么就可以调用初始化API:init()           
                    for (j,j<=num_class)
                    {     obj_class_j.cfg = config_i/string_j.cfg                     机型i中的obj-j类别对应的cfg

                    obj_class_j.weights = config_i/string_j.weights            机型i中的obj-j类别对应的weights

                    obj_class_j.names = config_i/string_j.names                 机型i中的obj-j类别对应的names

                    pred_classifier_i_ string_j= pred_cls ( obj_class_j.cfg , obj_class_j.weights, obj_class_j.names )     }

                                                                               num_area = json_i.sizeOf()

    2、
                    初始化result结构体{int type; items[nums_area]  }
                    for (int n =0 ;n<=num_area;n++){
                        Mat area_i = rect [  json_i_n   ]
                        predict    //根据机型i和area的字符串去预测。predict_i_string(area_classname)

                        } 


    这里用循环写即可。
                    
                    obj_class1.cfg = string1-1.cfg   obj1类别对应的cfg
                    obj_class2.cfg = string1-2.cfg     obj2类别对应的cfg
                    obj_class3.cfg = string1-3.cfg     obj3类别对应的cfg

                    obj_class1.weights = string1-1..weights    obj1类别对应的weights    
                    obj_class2.weights = string1-2..weights    obj2类别对应的weights
                    obj_class3.weights = string1-3..weights    obj3类别对应的weights    

                    obj_class1.names = string1-1.names     obj1类别对应的weights    
                    obj_class2.names= string1-2.names      obj2类别对应的weights
                    obj_class3.names= string1-3.names     obj3类别对应的weights
    根据类别数目num_class

    模型的初始化:


    首先根据i,可以找到json文件下的json_i,里面有对应的坐标位置。

    修改了classifier.c和yolo_v2_class.hpp


    螺钉一类,线序一类,大件一类,一共三个模型完事。

    螺钉B1 B2 B3 NO
    线序 L1 L2 L3 L4 L5 L6 L7 L8 L9   完事 
    大件:C1 C2 C3 

    首先是裁剪图片并命名,B1-1 B1-2 B1-3......
    然后是生成 train.txt和valid.txt
    然后配置文件。
    训练权重。

    注意最后导出的darklib是NOGPU的。

  • 相关阅读:
    软件过程管理读书笔记02
    交叉验证
    oracle两张表数据匹配,Oracle-left join两表关联只取B表匹配到的第一条记录
    oracle批量新增
    oracle聚合函数XMLAGG用法简介
    form表单导致url连接重定向问题处理
    请求200,返回没内容,360可以看到response内容(待看),nginx返回内容被截取
    jsonp请求返回前面带有个null
    oracle日期转换的一些坑
    Java中将List<String>转化为以,分割的字符串或相反(转载)
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725181.html
Copyright © 2011-2022 走看看