GT

FCOS : 找到诀窍了,anchor-free的one-stage目标检测算法也可以很准 | ICCV 2019

扶醉桌前 提交于 2020-04-09 04:02:13
> 论文提出anchor-free和proposal-free的one-stage的目标检测算法FCOS,不再需要anchor相关的的超参数,在目前流行的逐像素(per-pixel)预测方法上进行目标检测,根据实验结果来看,FCOS能够与主流的检测算法相比较,达到SOTA,为后面的大热的anchor-free方法提供了很好的参考   来源:【晓飞的算法工程笔记】 公众号 论文: FCOS: Fully Convolutional One-Stage Object Detection 论文地址: https://arxiv.org/abs/1904.01355 Introduction   大多目标检测网络都是anchor-based,虽然anchor能带来很大的准确率提升,但也会带来一些缺点: 准确率对anchor的尺寸、长宽比和数量较为敏感,这些超参都会人工细调 anchor的尺寸和长宽是固定的,如果目标的相关属性相差较大,会比较难预测 为了高召回,通常会使用密集的anchor布满输入,大多为负样本,导致训练不平衡 anchor需要如IOU的复杂计算   近期,FCNs在各视觉任务中都有不错的表现,但目标检测由于anchor的存在,不能进行纯逐像素预测,于是论文抛弃anchor,提出逐像素全卷积目标检测网络FCOS网络,总结如下: 效仿前期的FCNs-based网络

给大家整理了19个pythonic的编程习惯

匆匆过客 提交于 2020-04-07 08:25:59
Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。 要写出 Pythonic(优雅的、地道的、整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀的源代码值得阅读,比如:requests、flask、tornado,下面列举一些常见的Pythonic写法。 0. 程序必须先让人读懂,然后才能让计算机执行。 “Programs must be written for people to read, and only incidentally for machines to execute.” 1. 交换赋值 ##不推荐 temp = a a = b b = a ##推荐 a, b = b, a # 先生成一个元组(tuple)对象,然后unpack 2. Unpacking ##不推荐 l = ['David', 'Pythonista', '+1-514-555-1234'] first_name = l[0] last_name = l[1] phone_number = l[2] ##推荐 l = ['David', 'Pythonista', '+1-514-555-1234'] first_name, last_name, phone_number = l # Python 3 Only first, *middle,

C/C++ 第八周串和数组 (一)顺序串算法 项目2—(三)

非 Y 不嫁゛ 提交于 2020-04-06 19:21:50
/* *Copyright(c)2017,烟台大学计算机学院 *All right reserved. *文件名:main.cpp sqqueue.h sqqueue.cpp *作者:黄士胜 *完成日期:2017年11月1日 *版本号:v1.0 * *问题描述: 采用顺序存储的方式存储串,实现下列算法并测试。 *输入描述:无 *程序输出:见运行结果截图 */ (三) (3)从串s中删除其值等于c的所有字符。如从message中删除’e’,得到的是mssag: 主函数: #include <stdio.h> #include "../sqString.h" void DellChar(SqString &s, char c) { int k=0, i=0; //k记录值等于c的字符个数 while(i<s.length) { if(s.data[i]==c) k++; else s.data[i-k]=s.data[i]; i++; } s.length -= k; } int main() { SqString s; StrAssign(s, "message"); DellChar(s, 'e'); DispStr(s); return 0; } 运行结果: 学习心得: 了解了如何进行串的删除,强化我对串的了解。 点赞 收藏 分享 文章举报 不会游泳的咸鱼 发布了34 篇原创文章

map, multimap和unordered_map, unordered_multimap

ぐ巨炮叔叔 提交于 2020-04-06 19:18:30
头文件为#include<map> map 是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。map关联容器也是采用红黑树来实现的,插入元素的键值不允许重复,比较函数只针对元素的键值进行比较, 元素的各项数据可以通过键值搜索出来,map里面的元素都是有序的。 键值 映照数据 Jack 100.0 Bomi 75.5 Kate 90.5 1.map的创建 map<Element,Element> m; 注意map是要有两个数据类型的,一个是键值的数据类型,一个是映照数据的。 2.元素的插入、遍历输出和访问 map元素的插入很简单,有多种方式 ① 通过map对象的方法获取的iterator数据类型是一个std::pair对象,包括两个数据 iterator->first和 iterator->second分别代表关键字和映照的数据 所以插入的时候应该传一个pair对象 m.insert(make_pair("kate",90.5)); 输出的时候应该两个数据分别输出 cout << (*it).first << " " << (*it).second<<endl; ② 因为map类已经对[]操作符进行了重载

SpringBoot整合ElasticSearch实现多版本的兼容

安稳与你 提交于 2020-04-06 19:15:23
前言 在 上一篇 学习 SpringBoot 中,整合了Mybatis、Druid和PageHelper并实现了多数据源的操作。本篇主要是介绍和使用目前最火的搜索引擎 ElastiSearch ,并和 SpringBoot 进行结合使用。 ElasticSearch介绍 ElasticSearch 是一个基于 Lucene 的搜索服务器,其实就是对 Lucene 进行封装,提供了 REST API 的操作接口 ElasticSearch 作为一个高度可拓展的开源全文搜索和分析引擎,可用于快速地对大数据进行存储,搜索和分析。 ElasticSearch 主要特点:分布式、高可用、异步写入、多API、面向文档 。 ElasticSearch 核心概念:近实时,集群,节点(保存数据),索引,分片(将索引分片),副本(分片可设置多个副本) 。它可以快速地储存、搜索和分析海量数据。 ElasticSearch 使用案例:维基百科、Stack Overflow、Github 等等。 SpringBoot整合Elasticsearch 在使用 SpringBoot 整合 Elasticsearch 之前,我们应该了解下它们之间 对应版本 的关系。 Spring Boot Version (x) Spring Data Elasticsearch Version (y) Elasticsearch

第11周 【项目5

…衆ロ難τιáo~ 提交于 2020-04-06 19:15:05
/* *Copyright (c)2017,烟台大学计算机与控制工程学院 *All rights reservrd. *作者:李欣豪 *完成时间:2017年11月22日 *版本号:v1.0 *问题描述: 设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题。   (1)建立迷宫对应的图数据结构,并建立其邻接表表示。   (2)采用深度优先遍历的思路设计算法,输出从入口(1,1)点到出口(M,N)的所有迷宫路径。 【模型建立】   将迷宫中的每一格作为一个顶点,相邻格子可以到达,则对应的顶点之间存在边相连。   例如,下面的迷宫 代码如下: #include <stdio.h> #include <malloc.h> #define MaxSize 100 #define M 4 #define N 4 //以下定义邻接表类型 typedef struct ANode //边的结点结构类型 { int i,j; //该边的终点位置(i,j) struct ANode *nextarc; //指向下一条边的指针 } ArcNode; typedef struct Vnode //邻接表头结点的类型 { ArcNode *firstarc; //指向第一条边 } VNode; typedef struct { VNode adjlist[M+2][N+2]; //邻接表头节点数组 }

用户权限与系统定时

两盒软妹~` 提交于 2020-04-06 18:55:20
{2.用户权限列表} [1.权限列表的定义] 指定特殊用户对某个文件有特殊权限的记录表格 [2.权限列表的识别] -rw-rw-r--+ 1 root root 12 Oct 31 17:38 file **权限位有加号权限列表开启 -rw-rw-r--. 1 root root 12 Oct 31 17:39 westos **权限位是.权限列表未激活 [3.权限列表的查看] getfacl file * file: file **文件 * owner: root **文件所有人 * group: root **文件所有组 user::rw- **文件所有人权限 user:test:rw- **特殊指定用户(test)权限 group::r-- **组权限 mask::rw- **权限阀值 other::r-- **其他人权限 [4.如何设定acl列表] setfacl -m u:username:权限 file setfacl -m u:test:rw file **指定test用户对file文件可读可写 setfacl -x u:student file **删除列表中的student用户信息 setfacl -x g:student file **删除列表中的student组信息 setfacl -b file **关闭列表 [5.mask权限阀值]

Python random模块

你离开我真会死。 提交于 2020-04-06 18:52:10
转自: http://www.cnblogs.com/yd1227/archive/2011/03/18/1988015.html Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。 random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniform   random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。 print random.uniform( 10 , 20 ) print random.uniform( 20 , 10 ) #---- 结果(不同机器上的结果不一样) #18.7356606526 #12.5798298022 print random.uniform(10, 20) print random.uniform(20, 10) #---- 结果(不同机器上的结果不一样) #18.7356606526 #12.5798298022 random.randint   random.randint()的函数原型为:random

第7周 【项目一】 建立顺序环形队列算法库

只愿长相守 提交于 2020-04-06 18:48:49
顺序环形队列算法库中应该包括: 1.初始化顺序环形队列 2.销毁顺序环形队列 3.判断顺序环形队列是否为空 4.统计队列长度 5.进队 6.出队 优点: 更加合理的利用了空间 一、头文件sqqueue.h中定义这些函数 #ifndef SQQUEUE_H_INCLUDED #define SQQUEUE_H_INCLUDED #define MaxSize 5 typedef char ElemType; typedef struct { ElemType data[MaxSize]; int front,rear; /*队首和队尾指针*/ } SqQueue; void InitQueue(SqQueue *&q); //初始化顺序环形队列 void DestroyQueue(SqQueue *&q); //销毁顺序环形队列 bool QueueEmpty(SqQueue *q); //判断顺序环形队列是否为空 int QueueLength(SqQueue *q); //返回队列中元素个数,也称队列长度 bool enQueue(SqQueue *&q,ElemType e); //进队 bool deQueue(SqQueue *&q,ElemType &e); //出队 #endif // SQQUEUE_H_INCLUDED 二、在源文件sqqueue

C/C++ 第三周线性表项目(3) 建设“顺序表”的算法库

人走茶凉 提交于 2020-04-06 18:43:21
*Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reservrd. *作者:黄士胜 *完成时间:2017年9月16日 *版本号:v1.0 *问题描述:请采用程序的多文件组织形式,在项目1的基础上,建立如上的两个文件,另外再建立一个源文件,编制main函数,完成相关的测试工作。 *输入描述:无 *程序输出:依据各个函数而定 算法库包括两个文件:    头文件:list.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;    源文件:list.cpp,包含实现各种算法的函数的定义 首先建立一个项目,这和项目一相关联。 项目截图: list.h代码: #ifndef LIST_H_INCLUDED #define LIST_H_INCLUDED #define MaxSize 50 typedef int ElemType; typedef struct { ElemType data[MaxSize]; int length; } SqList; void CreateList(SqList *&L, ElemType a[], int n);//用数组创建线性表 void InitList(SqList *&L);//初始化线性表InitList(L) void DestroyList(SqList *&L);/