- 现代英美媒体意识形态宣传的主轴,亦即所谓的 “民主”、“自由”,其真正的意义在于消弭政府监管,使资本一家独大,这是 1970 年初期开始的资本大反扑的结果。
- 我的人生态度,是坚持理想原则,但仍要追寻对现实世界最大的实际影响和贡献。前者是理想主义,后者是实用主义。请注意这两者是绝对相容的,因为理想主义的相反,是现实主义,而不是实用主义。
- 载人航天主要是霸权争夺的象征,是对全世界多数人类的最佳广告,有很重要的士气和宣传价值。从战略角度来看,它是无人伤亡的正面国力碰撞。你可以抱怨它的实际效益低于很多其他科研计划,但是正确的比较对象,其实是全面战争,包括核战争,所以它真正是应该被严肃考虑的首选之一。
parse_args
data-shape
: 默认是 300,这个数值在 Evaluation 中会影响 net_name 和 SSDDefaultValTransform 里面的 imresize 也就是 Eval 图像的大小
get_dataset
get_dataloader
benchmarking
validate
__main__
Eval Script
Internal multi-worker iterator for DataLoader.
在 num_workers
大于 0 的时候,DataLoader 实际用的是下面的代码来处理数据
# multi-worker
return _MultiWorkerIter(self._worker_pool, self._batchify_fn, self._batch_sampler,
pin_memory=self._pin_memory, pin_device_id=self._pin_device_id,
worker_fn=_thread_worker_fn if self._thread_pool else _worker_fn,
parse_args
- model and dataset
- synchronized Batch Normalization
- evaluation only
'--eval'
- whether evaluation only, evaluation 就是指是计算
pixAcc
和mIoU
还是保存所有测试结果 - True 的话,就是按照 Batch 一个一个扫遍 Dataset,最后输出
pixAcc
和mIoU
- False 的话,还是按照 Batch 一个一个扫遍 Dataset,但是不计算
pixAcc
和mIoU
,而是把 Batch 里面的每一个样本的预测结果的图保存下来
- whether evaluation only, evaluation 就是指是计算
- dummy benchmark
test
test
这是一篇较早的文章了,10 Nov 2015 挂到了 arXiv 上,是 CVPR 2016 的文章。不管是 Object Detection 还是 Semantic Segmentation,性能要好的一个关键在于利用好 multi-scale features。
论文试图解决的问题是:如何利用 multi-scale 的 feature?
论文尝试给出的途径是,将各个 scale 独立预测的 score map 做一个 weighted sum,其实是一个决策级的融合。这个权重来源于共享的 Attention Module,具体由另一个 FCN 实现。
自己实现的 SoftIoU Loss,用于前景背景的图像分割,相较于 Focal Loss,SoftIoU Loss 的好处是不需要设置 Loss 的参数了,只要关注 Model 就好了
from gluoncv.loss import Loss as gcvLoss
class SoftIoULoss(gcvLoss):
def __init__(self, batch_axis=0, weight=None):
super(SoftIoULoss, self).__init__(weight, batch_axis)
predict = np.argmax(output.asnumpy(), 1).astype('int64')
pixAcc
是 TP / T
IoU 是 TP / (T + P - TP)
如果 pixAcc
很高,比如 0.95,而 IoU 很低,接近于 0,那么 说明分类器几乎把所有像素都预测成了 P