4.17学习流水账——GTSRB函数TrainTrafficSigns


先看了GTSRB网站,找到2个函数

TrainTrafficSigns——42个文件夹循环读入训练

EvalTrafficSigns——循环读入测试

看懂,改TODO部分


todo部分我首先想进行归一化,28*28,再以28为一组叠加样本(比如500个)那么多组,后来发现标准数据集一个图片是784列


上午查了半天归一化,发现是线性归一化。

下午3点开始,做的事情有:

定义自己的【变量】,比如

【手动输入参数】:根据样本数(比如一共500张,每类100),每个类别训练张数的变化

【循环计数参数】:训练矩阵要随着图片数增加动态变化,外层大循环记录总共读入图片张数,即训练矩阵行数;对于标签矩阵的定义,我认为输入几类就生成几类标签比较好。

我本类想着读入csv文件的类别,然后在矩阵相应位置置1,但是如果1,2,14这样读文件夹的话,在14或者15的位置放1,中间好多列都是0,没用啊,我最后可能分18类,每类100张,就是1800张训练没必要放42列,其实也可以啦,这个不重要,毕竟42维度不大。

对于count位置,我总是找不准,变量初始化语句放在for前不会让loop给洗了

定义自己的【功能】:

我在每个类别里随机选取nClassPic张图片做训练,这个随机用的是randperm函数,随机生成文件夹那么多的随机数,比如1-210的随机数,最后for循环只选择nClassPic张就break。我的随机是先生成随机数——按照随机数读结构体内容

但是英文代码的结构体比较复杂,生成随机数,前40个,rand_i(1~40)

【save】的用法:变量列表有什么,保存全部 save filename;保存一个变量 save filename train_x;

对于这个小程序的移植性,我想做的接口内容是:[train_x,train_y,..,..]=function trainTrafficSin【文件夹名(可以变成行向量),类内张数(100)】可以不用保存矩阵,直接在main中生成。

如果去服务器上跑的需要带几个文件夹,生成文件夹行向量。先用600张在自己或者同学电脑上走一个main流程。

下一步工作 :混淆矩阵的生成,看王斌结尾,看gtsrb那个软件。


代码部分(可以运行,还没优化,有多余变量,没接口):


    

    
   
   



你可能感兴趣的:(matlab,算法代码)