
我突然发现,有的图片是这样的:


反正运行后出错了:

我就被打了一顿


加上了还是不对:






准备画出来所有的时候:
发现无论一直只能画一个:
检查了一下,原来是return的缩进不对。


于是都画出来了:

下面开始写批量训练的程序了:

对比之前的项目,看看有哪些部分:网络定义、数据、训练
网络定义已经写好了,数据正在做,训练还没有做。
很久很久以前,有个叫做WYY的博主,把网络定义已经写好了,突然发现轻松了很多,那就直接抄一下她的,就可以了。

赶紧拿来face项目的代码,来看看是怎么个写法:
是将图片和label一一对应。

简而言之,我现在的问题是,我不会写,把所有的图片都读了的程序。

数据分为图片和label两部分,图片如下:

label如下:


红色部分是在读取所有的图片,将它们改成这样:

之前写过读取标注文件并画出来。
巴拉巴拉,就是把之前face的拿过来改一下:


注意,label与img两个路径,所以这里要做相应的改正:


这时候,还不是label与img还不是一一对应的关系,所以要sort一下:
让他们按照名字排序,这样就可以一一对应了:
sorted(iterable[, cmp[, key[, reverse]]])
Return a new sorted list from the items in iterable.(会返回一个重新排列好的list)
iterable(可迭代):可迭代对象,可以是list也可以是dict
cmp:可以自定义比较规则,这里不详细叙述(比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。)
key:用于比较的值(主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。)
reverse:指定是顺序还是逆序(reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认))
请看以下实例:


啊,你看,还有sort和sotred的区别:


先试一下sorted怎么用吧:



今天是开心的一天!开始写代码咯!
改正了一些小问题以后,发现还是网络部分有问题:


比较一下,这两身衣服:







(1)得到“小图”与“大图”:
1)小图:63*63,切割出的小汽车(随机决定切哪个小汽车,这样可以保证,无论切的是哪个小汽车,都能数出来)

获取各个汽车的左上角和右下角的坐标的代码已经写过了:


但是我只需要从中随机取一组即可:任弱水三千,我只取一瓢而已。
我的瓢如下:

取得时候出现了以下错误:

查资料后:

这下就对了:

终于啊:




(1)dataset模块调试:
1)实例化一个dataset;
2)再调用一下(看看这个dataset里面有什么);








是不是终于对了:
还是有点不对,于是今天,我又来改了。



终于对了:



在这里说一下,如果到下周三,我这个“数数”还数不完,就不做了。


heatmap:
1.先生成一个和原图一样大的全为0的图
2.计算图上每一个点到中心点的距离
3.根据距离计算值
代码已经写好:请看本人github:https://github.com/POLARBEARWYY/Class-Agnostic-Counting