自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 问答 (2)
  • 收藏
  • 关注

原创 tensorflow2.0 安装pydot和graphviz

在使用tensorflow2.0 keras时, 可使用keras.utils.plot_model方法方便的画出模型的拓扑结构图。 这个方法依赖于pydot和graphviz, 若不安装, 执行到这个方法时,会报错: File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/utils/vis_utils...

2019-10-10 10:43:38 1391

原创 使用conda安装tensorflow-gpu 2.0

tensorflow1.x时, 使用conda安装tensorflow-gpu的最大好处是会自动安装cuda、cudnn等依赖。 现在2.0出来了, 但conda暂时还不支持其安装, 最新的版本仍是1.14。 若使用pip安装, 大概率会碰到报错:dynamic library 'libcudart.so.10.0' not found. 这是因为对应的cuda环境没装好。可以手动安装对应的c...

2019-10-09 21:16:58 5032

原创 ResNet 残差网络

背景论文的发表都是有目的的, 或阐述现象, 或针对问题提出解决方案。ResNet的提出是为了解决衰减问题(The degradation problem). 衰减是指分类精度的衰减:ResNet论文的主要想解决的问题是利用DCN(Deep Convolution Network)完成图像分类时,当DCN到达一定深度后, 其分类精度不升反降。更深的网络, 理论上来说, 其拟合能力会更强。 但之...

2019-08-22 15:26:05 1512

原创 神奇的异或运算

神奇的异或运算何为异或运算异或运算的特点异或运算的逆运算是其本身异或运算与顺序无关两种特殊的异或异或运算的用途用异或实现swap函数找出唯一不重复的数字何为异或运算异或运算是基本bool运算/位运算1的中的一种, C语言里用^表示, 此处用⊕\oplus⊕表示。运算规则为,相同为0, 不同为1:1⊕1=00⊕0=00⊕1=11⊕0=11 \oplus 1 = 0\\0 \oplus ...

2019-04-20 16:23:30 6939 1

原创 左手右手坐标系

给定一个X-Y二维平面可以确定两个三维空间:原点确定, 坐标轴两两垂直, Z轴可以有两个方向。用拇指、食指、中指分别指向X、Y、Z轴的正方向。 和左手匹配就为左手坐标系, 否则为右手坐标系。另外一种判断方法为右手大拇指指向Z轴正方向握住Z轴, 若其余手指弯曲的方向为X正方向到Y正方向的旋转方向, 则为右手坐标系。参与三维向量叉乘的三个三维向量可构成一个右手坐标系。Referenceht...

2018-11-05 21:03:56 1971

原创 微光相机

微光指微弱的光, 典型的微光包括夜晚的月光、星光和大气辉光。微光相机主要用于夜视成像。# Referenceshttp://www.indigo-imaging.com/Home/Case/index/pid/2.html...

2018-10-10 10:59:08 2358

原创 KITTI 3D Object Detection Dataset

数据集构成分为训练集与测试集, 分别包含7481和7518张图片, 每张图片有对应的点云数据。 其中, 只有训练集的ground truth被公布。 Ground truth的格式为: 对应的涵义为: 特点:同时有2D和3D的位置标注, 且都是有方向的。根据遮挡与截断程度分为Easy、Medium、Hard三个级别。由于数据量的原因, 只考虑汽车、人与自行车三个类别...

2018-03-23 18:32:25 8736 4

转载 latex bib参考文献类型

Standard entry typesarticle: Article from a magazine or journalbook: A published bookbooklet: A work that is printed but have no publisher or sponsoring institutionconference: An article in a confe

2017-12-13 09:50:20 7647

原创 Ananconda + Jupyter 无法导入已经安装的包

问题描述Ubuntu14.04. 在Anaconda环境中安装好了opencv, 然后在Jupyter中import cv2提示找不到包。Jupyter是在anaconda之外安装的。解决办法在conda环境里安装jupyter:conda install jupyter然后指明路径执行jupyter:PATH_TO_ENV_BIN/jupyter notebook例如:~/anaconda3/e

2017-11-14 14:32:01 10888 1

原创 视觉分类任务中处理不平衡问题的loss比较

问题介绍在计算机视觉(CV)任务里常常会碰到类别不平衡的问题, 例如: 1. 图片分类任务,有的类别图片多,有的类别图片少 2. 检测任务。现在的检测方法如SSD和RCNN系列,都使用anchor机制。 训练时正负anchor的比例很悬殊. 3. 分割任务, 背景像素数量通常远大于前景像素。 从实质上来讲, 它们可以归类成分类问题中的类别不平衡问题:对图片/anchor/像素的分类

2017-10-24 11:08:39 25704 6

原创 Fluent Python读后感

2017.10.7 断断续续地, 花了应该有个把月读完Fluent Python. 当然, 并非真正读完. Chapter 16 coroutine, Chapter 17, 18 Concurrency with futures/asyncio 这三章没来得及读. 原因是读到这几章时国庆假期已经快结束了, 相比于这三章, 后面的章节更有吸引力, 所以跳过了它们. 跳过就跳过吧. 读书的过程中

2017-10-07 16:47:26 4943 1

原创 Python descriptor

从attribute到property, 现在又出现了descriptor. 刚读到Fluent Python里的这一章(Chapter 20)时, 内心阴影面积着实很大, 要理清它们的关系确实不那么容易.什么是descriptor?一种协议, 协议方法有仨: __get__, __set__, __delete__. 如果一个class实现了其中一个或多个, 那这个class就是一个descri

2017-10-07 11:10:30 502

原创 Python class的__new__与__init__方法

通常我们按照Java或C++里的习惯, 称__init__方法为构造器方法, 其实这种说法并不准确, 因为类的实例在调用__init__方法之前已经在__new__方法里创建了. 所以说, 真正的构造器方法应该是__new__, 而__init__只是完成构造以外的初始化操作. 用Fluent Python里的伪代码描述实例的构造过程: 具体描述为: 先调用the_class.__new__(

2017-10-06 17:05:09 1264

原创 Python里的instance method, classmethod与staticmethod

在Python里, 在class里定义的方法可以大致分为三类: 实例方法, 类方法与静态方法. 用一个表格总结如下: 方法类型 修饰 调用者 默认首参 实例方法 无 instance self 类方法 @classmethod cls, instance cls 静态方法 @staticmethod cls, instance 无示例

2017-10-06 16:07:11 3689

原创 (Python)从attribute到property

字面意思上的区别attribute与property, 都可翻译成属性. 无论是在中文还是英文中, 它们的意思都几乎一样, 但还是有些许差别. Google了好几下, 找到了一个看起来比较靠谱的解释: According to Webster, a property is a characteristic that belongs to a thing’s essential nature an

2017-10-06 10:47:31 5533 1

原创 slim.arg_scope原理分析

slim.arg_scope的实现使用了修饰器和上下文管理器. 弄清楚这两个语法才能看明白它的源码.使用方式slim.arg_scope常用于为tensorflow里的layer函数提供默认值以使构建模型的代码更加紧凑苗条(slim):import tensorflow as tfslim = tf.contrib.slimwith slim.arg_scope( [layer

2017-10-05 12:23:08 28583 1

原创 Python中的with语法与上下文管理器

with的作用with语法在Python里很常见, 主要的利好是使用代码更简洁. 常见的使用场景有:资源对象的获取与释放. 使用with可以简化try... finally ...在修改函数代码的前提下设置函数的默认参数简化try... finally ...例如, 打开一个文件. 在使用读写前, 要打开它;在读写结束后要手动释放它;读写过程中出现异常也得释放它. 如果不使用with, 就得

2017-10-04 17:22:45 1781 1

原创 Python的生成器表达式与生成器函数

有一种特殊的迭代器, 叫做生成器. 生成器有两种, 生成器表达式与生成器函数.生成器表达式生成器表达式与列表推导在语法上十分相似: * 列表推导使用[]: [i for i in arr] * 生成器表达式使用(): (i for i in arr)但是它们有着本质的不同: 列表推导在被创建时会为每个元素分配内存空间, 最后得到的是一个正常完整的list对象. 而生成器表达式在被创建时并不会为它

2017-10-04 10:33:32 1920

原创 Python的iterable与iterator

以for ... in ...为核心的迭代语法是Python的常用语法之一. iterable, 可迭代;iterator, 迭代器. 它们之间虽关系密切但不是同一个概念.什么对象才是可迭代的?并不是每个对象都是可迭代的. 对不可迭代的对象应用迭代语法会报错.class NotIterable(object): passnot_iterable = NotIterable()for i

2017-10-01 20:44:24 1257

原创 Python的列表推导

什么是列表推导大部分使用Python的人都用过它, 但却不知道它的名字. 列表推导, List Comprehension, 是Python的特色语法, 用于根据已有的可迭代对象生成一个新的list. 例如, 在以下示例中, 根据a生成b, 用for循环可以这么写:\a = range(10)b = []for i in a: b.append(i)用列表推导则是这么写:a = ra

2017-10-01 18:27:48 377

原创 Python的方法解析顺序(MRO)

方法解析顺序, Method Resolution Order从一段代码开始考虑下面的情况:class A(object): def foo(self): print('A.foo()')class B(object): def foo(self): print('B.foo()')class C(B, A): passc = C()c.fo

2017-09-26 21:57:11 4184

原创 Python中的接口

接口(interface)接口, (按照我自己的理解)最接地气的定义是: 实体向外暴露的公共可访问方法与属性. 这个实体可以是Class, Object, Software, 等任意可以看作一个整体的东西. 外界通过它们的interface与它们进行交互. 按照Wikipedia的说法, 接口与协议(Protocol)是同义词, 因为接口在定义交互方式的同时肯定也定义了交互时的通信内容, 格

2017-09-26 20:18:47 6812 2

原创 Python对象的属性访问过程

只想回答一个问题: 当编译器要读取obj.field时, 发生了什么? 一个简单的属性访问, 其实过程还蛮曲折的. 总共有以下几个step: 1. 如果obj instance 本身有这个属性, 返回. 如果没有, 执行 step 2. 2. 如果obj class 有这个属性, 返回. 如果没有, 执行step 3. 3. 如果在obj class 的父类有这个属性, 返回. 如果没有,

2017-09-24 16:53:51 1508

原创 Python 定义只读属性

Python是面向对象(OOP)的语言, 而且在OOP这条路上比Java走得更彻底, 因为在Python里, 一切皆对象, 包括int, float等基本数据类型. 在Java里, 若要为一个类定义只读的属性, 只需要将目标属性用private修饰, 然后只提供getter()而不提供setter(). 但Python没有private关键字, 如何定义只读属性呢? 有两种方法, 第一种跟J

2017-09-24 15:45:56 12045 1

原创 Python 定义私有属性

Python没有类似于Java中的private关键字, 但也可以为类定义私有属性: 将属性命名为: __field.class Vector2D(object): def __init__(self, x, y): self.__x = float(x) self.__y = float(y) self.xx = x self

2017-09-23 20:58:30 5137

原创 Python str.format

Python不仅支持C风格字符串格式化, 还支持利用format方法来格式化字符串. format方法通过占位符{}来指定参数及参数格式.指定参数通过位置指定参数位置索引从0开始可以省略数字print('{} + {} = 5'.format(2, 3))print('{0} + {1} = 5'.format(2, 3))输出:2 + 3 = 52 + 3 = 5通过名字指定参数prin

2017-09-23 18:34:48 926

原创 Python与函数重载

函数重载是OOP的基本特性之一, 名字相同但参数类型或个数不同时执行不同的函数. 但因为Python是弱类型语言(不需要声明变量类型), 所以它不支持通过参数类型来支持重载. 这是Python在3之前的不足之处. 3.4之后, Python也提供重载机制: 转发(Dispatch).singledispatch#!/usr/bin/python3from functools import singl

2017-09-21 15:53:38 6775

原创 Python中的修饰器

Decorator有种设计模式叫修饰器模式, 它可以在不修改目标函数代码的前提下, 在目标函数执行前后增加一些额外功能. 例如:def dec(fn): print('hello, I am a decorator') return fn@decdef fn1(a): print('hello, I am in fn1(%r)'%(a))@decdef fn2(a):

2017-09-21 14:54:39 11412

原创 Python 的闭包

什么是闭包?闭包, 英文为closure. 首先, 闭包是一种特殊的函数. 特殊之处在于它包含了非本地也非全局的变量. outer_var = [] def inner_fn(val): outer_var.append(val) return sum(outer_var) * 1.0 / len(outer_var) return inn

2017-09-21 13:25:45 219

原创 Tex Studio配置字典用于检查拼写

下载字典文件从 https://extensions.openoffice.org/en/project/english-dictionaries-apache-openoffice 下载一个oxt字典文件.配置Tex Studio工具栏–> Options–>Config TeXStudio–>Language Checking 配置一下路径就OK了.

2017-09-05 15:17:31 9287

原创 Cython的编译方式

已有一个cython脚本hello.pyx:print "Hello World"def hello(): print 'hello in hello.pyx'现在需要在普通的Python脚本中调用它的hello方法.使用setup创建setup.py:from distutils.core import setupfrom Cython.Build import cythonizes

2017-08-03 14:26:33 6784 1

原创 Notes on Latex lshort

因为写paper的需要学习latex, 在知乎上看到多人推荐lshort作为教程. 下载一看, 不长, 只有100多页, 甚合我意. 作学习笔记于此.Chapter 1. 历史, 文件构成.Chapter 2. 基础用法.

2017-08-01 16:39:32 277

原创 Notes on LaTex: lshshort chapter 2 文本格式设置

这一章详细地讲解文本的格式设置.换行换行的方法\\或\newline一个Enter不会造成换行, 只会产生一个空格换行时的连字符latex会自动换行, 自动使用连字符. 但可以通过\hyphenation命令指定换行连词规则. 例如:\hyphenation{FORTRAN Hy-phen-a-tion}FORTRAN不会被拆分到两行, hyphenation可以在指定位置(有连词符号的位置

2017-08-01 15:58:42 899

原创 Notes On Latex: lshort chapter 1

Warning: 我是在Ubuntu系统上学习使用LaTex, 下面的code和command也是只针对Ubuntu的, 其他系统未尝试.Latex的由来Tex发音 Tech, 所以呢, X的没有s音发出.由神一样的Donald Knuth发明. 他在1977年开始实现TEX引擎, 目的是为了让自己出版的书排版好看(他非常担心当时落后的排版技术会影响到自己的书. 猜测是巨作The Art of

2017-08-01 11:02:38 489

原创 MSRA TD-500数据集

OverviewMSRA Text Detection 500 Database (MSRA-TD500) Cong Yao Huazhong University of Science and Technology Email: [email protected]多方向文本检测大部分文本都在引导牌上分辨率在1296x864到1920x1280之间包含中英文总共500

2017-07-29 10:51:15 6455 2

原创 COCO API

COCO API是做什么用的就不介绍了. 知道的, 不需要介绍;不知道的, 没必要知道, 因为没有这个需求.Installation从github上clone: https://github.com/pdollar/coco因为我只使用python, 所以只编译python接口:cd cococd PythonAPImake报了个错: 需要安装Cython:pip2.7 insta

2017-07-18 19:18:46 10484 1

原创 COCO Detection Challenge

IntroductionCOCO的全称是Common Object in Context, 是 MicroSoft 赞助的CV挑战, 包含 Detections, Captions, Keypoints 三个Challenge, 及相应的数据集. 接下来根据coco 2016介绍它的Detection Challenge. 值得指出的是, coco2016 detection与coco2015

2017-07-18 17:24:32 8962 2

原创 SegLink on github-Detecting Oriented Text in Natural Images by Linking Segments

最近动手实现了CVPR 2017 Detecting Oriented Text in Natural Images by Linking Segments中的自然场景文本检测算法, 代码和模型在github: https://github.com/dengdan/seglink

2017-07-18 12:57:36 1630

原创 Ubuntu下安装Circos

PS: 女票需要用circos画图, 但好不会用, 所以又到我出马了. 用惯了Ubuntu, 先把circos安装起来吧.下载open source and free, 赞 官网: http://www.circos.ca/software/ 下载: http://www.circos.ca/software/download/circos/安装Perl 需要5.8及以上的版本. 查看版本

2017-07-16 21:52:52 1609

原创 tensorflow ExponentialMovingAverage

作用假如我们训练模型迭代了100K,每2K步保存一个snapshot。在evaluation时, 我们可以只使用最后得到的model-100K,也可以通过cross validation选出一最佳的model,如model-98K。 但Googlers发现(https://www.tensorflow.org/versions/r1.0/api_docs/python/tf/train/Expone

2017-07-07 11:29:11 4332 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除