自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 EM算法的简单理解

极大似然估计 与 EM算法什么是极大似然估计?简单的说,有一组观测数据Y,我们假定这个Y是由参数theta产生的概率分布P产生的。极大似然估计,就是求解theta,使得由P产生Y的可能性最大化。我们在学习概率论时经常解的概率题,都可以看作时一次极大似然估计。比如:重复扔一个硬币,得到序列[1,0,0,1,1],求硬币朝上的概率?Y = [1,0,0,1,1]P = 假设硬币朝上的概率时pitheta = pi观测值,概率模型,参数都有了。计算pi = Mean(Y) = 0.6求解最大

2021-01-29 10:13:17 143

原创 python多继承时,函数调用顺序

python多继承时,函数调用顺序问题的根源在于MRO算法什么是MRO算法呢?Method Resolution Order。即方法解析顺序。什么是方法解析顺序呢?就是当存在类的继承关系时,在子类父类中查找一个方法的顺序。我们可以在类的.__mro__中查看该类的MRO。比如 有 A,B(A), C(A), D(B, C)的类定义,我们可以查看D.__mro__会看到D,B,C,A,Object的顺序,也可以查看B.__mro__会看到B,A,Object。通常有两种情况会触发按照mro的查找。

2020-10-16 14:02:39 504

原创 关于Attention机制

Attention机制,是根据目标给输入分配权重,并加权求和的操作。标准的输入为三部分,即Query, Key, Value。(下面简写为Q,K,V)标准的操作是根据Query和Key计算出一个score,并使用该score作为权重,对Value进行加权求和。即 step1, score = F(Q, K)step2, attention_weight = softmax(score)step3, output = sum(attention_weight * V)F是计算权重分数所使用的函数

2020-07-06 13:51:42 244

原创 Focal Loss理解

Focal Loss 来自于2018年的一篇论文《Focal Loss for Dense Object Detection》,作者包括Kaiming大神等。Focal Loss在文中旨在解决class imbalance的问题。其定义如下:首先文中给出Cross Entropy Loss的定义为:CE(pt)=−log⁡(pt)CE(p_t)=-\log(p_t)CE(pt​)=−log(pt​)其中pt={pif  y=11−p otherwisep_t=\

2020-05-25 12:47:17 387

原创 CTPN论文阅读

CTPN论文阅读CTPN,全称Connectionist Text Proposal Network。是16年的一篇文本检测模型,作者是Zhi Tian等,发表于ECCV。(https://arxiv.org/abs/1609.03605)同时也阅读了CrazySummerday实现pytorch版本的代码。(https://github.com/CrazySummerday/ctpn.py...

2020-03-08 15:24:34 316

原创 pytorch入门笔记1

pytorch入门笔记11,创建tensortorch有很多类似numpy的操作。比如可以用类似numpy的函数去生产一个tensor:torch.zeros, torch.ones, torch.rand也有torch.zeros_like, torch.ones_like, torch.rand_like等,也可以给torch.tensor传入一个arry或list去转换类型。2...

2020-03-06 09:40:36 106

原创 numpy中ravel和flatten的区别

numpy中ravel和flatten的区别ravel获得的是view,改变会影响原来数组,flatten获得的是copy,改变不影响原来数组。import numpy as np# 随机生成aa = np.random.rand(2,2)print(a)# flatten成bb = a.flatten()print(b)# 修改b,a不变b *= 10print(a)# ...

2020-03-05 14:34:23 164

原创 numpy数组引用的+=运算符问题

numpy数组引用的+=运算符问题在numpy中,有array a,如果令b=a,则b成为a的引用,和a指向同一个array。但是对b的两种不同的操作方式,会导致b成为新的copy或者保持引用状态。即采用b+=1 或 b=b+1会导致很大的不同。这个不清楚的话会很困惑,要记住。例子如下:a = np.random.rand(3)print(a)# b和a指向了不同的arrayb ...

2020-03-05 14:30:33 381

原创 229. Majority Element II

Majority Element II找出数列中出现次数大于1/3数列长度的值。如果用字典当然可以计算,但是题目要求空间复杂度O(1)如何不使用额外空间计算数列中值的出现次数呢?这里用到的方法叫做Boyer-Moore Algorithm添加链接描述,是一种非常巧妙的统计majority的算法,具有O(n)的时间复杂度和O(1)的空间复杂度。1,定义majority为出现次数超过一半...

2020-02-29 15:31:25 127

原创 leetcode 221. Maximal Square

leetcode 221. Maximal Square给定一个元素只有0或1的matrix,寻找其中由1组成的最大正方形的面积。采用动态规划解题。dp[i][j]表示以i,j为右下角的值为1的最大正方形的边长。于是对于matrix[i][j] == 0, 有dp[i][j] == 0对于matrix[i][j] == 1, 有dp[i][j] = min(dp[i-1][j-1], d...

2020-02-29 13:57:21 75

原创 leetcode 220 Contains Duplicate III

判断数列nums中,是否存在index距离不超过k的两个元素间值差不超过t最直观的想法就是用大小为t+1的滑动窗口去滑动,同时比较每个窗口内的元素差。但是遍历数组去比较必然会超时。1,要用字典去快速读取和比较。2,字典的key采用了“桶”方式,用数组的值x处以元素差t,即x//max(t, 1)分析可知,如字典中存在与x不超过t的差,其key必然在( x//max(t, 1), x//m...

2020-02-29 09:40:40 67

原创 堆排序

在做leet code 215. Kth Largest Element in an Array。要求输出一个无序数组的第k大的元素。可用堆排序求解。于是复习了一下堆排序的相关知识,如下:堆排序**1 堆的定义:**近似完全二叉树的结构。子节点的键值总是大于(或小于)它的父节点。以大顶堆为例,最大值总是位于根节点。堆是二叉树结构,也可以用数组表示,即逐层遍历元素的顺序。2 堆的操作...

2020-02-25 23:48:08 59

原创 Leetcode 142 Linked List Cycle II解法

快慢指针法找链表中的循环,很巧妙。即使用两个指针,快指针每次前进2,慢指针每次前进1,如果最终相遇,则链表中包含循环结构。如果找到循环开始的位置呢?如下图:n0 --> n1 --> … --> nx --> … ny             |      |             <–… …<–nx 为循环开始点, ny为快慢指针相遇点。假...

2020-02-23 12:56:25 88

转载 libnuma.so.1: cannot open shared object file

centos 6.9安装mysql 5.7.19出现以下报错:[root@fanyk bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysqldatabase/./mysqld: error while loading shared libraries: libnuma....

2019-04-12 10:30:23 811

翻译 Tensorflow Ragged Tensors

(根据官文,要安装tf-nightly)Ragged Tensors即tf提供的不规则形状,或者说可变元素长度的tensor。比如:digits = tf.ragged.constant([ [3, 1, 4, 1], [], [5, 9, 2], [6], []])或者words...

2019-03-08 16:47:42 1235

翻译 关于tensorflow中graph, collection, session和name scope的一些笔记

1 tf.Graph 和 tf.collectiontf.Graph包含两类信息:1,graph的结构信息,如operation的依赖信息。2,graph collections。Collections机制提供了对tf变量的分组管理。相关函数:tf.add_to_collection可将一组对象加入到一个collection,collection通过key来标示。(tf.Graph提供了...

2019-03-08 16:45:38 825

翻译 Tensorflow AutoGraph用法

见:https://www.tensorflow.org/guide/autograph1,Tensorflow AutoGraph能够将普通的python代码转换成Tensorflow graph code。其引用方式如下:from tensorflow import contribautograph = contrib.autographAutograph支持eager mode(...

2019-03-08 16:42:37 1177

原创 six.moves module举例

six.moves modulesix用于解决python2和python3的compatibility问题。其名字的含义是2*3=6.用法举例:1, 通过six.PY2和six.PY3可以判断当前运行环境的python版本。2, six提供了six.integer_types, six.string_types, six.class_types, six.binary_type等变量来返...

2019-02-14 13:25:53 523

原创 一个tf Estimator Summary Hook 函数

一个tf Estimator Summary Hook 函数应用场景:最近在使用tf.estimator.DNNLinearCombinedClassifier时,希望能够使用tensorboard去看一下loss的下降曲线。虽然Tensorflow有提供了tf.train.SummarySaverHook,但是研究后发现,并不适用于tf.estimator.DNNLinearCombined...

2019-01-31 20:00:32 1954

原创 saved_model_cli的使用

saved_model_cli的使用saved_model_cli提供了从命令行直接查看,调用tensorflow的方法。主要有show和run两个command。用法一,显示所有内容(tags,signatures,inputs,outputs)saved_model_cli show --all --dir 如:&gt;&gt; saved_model_cli show --all...

2019-01-31 10:20:57 10961

原创 tf.train.SummarySaverHook用法

tf.train.SummarySaverHook用法初始化函数如下__init__( save_steps=None, save_secs=None, output_dir=None, summary_writer=None, scaffold=None, summary_op=None)用法说明:1, save_steps和save_...

2019-01-31 10:19:36 3457

原创 如何添加一个virtual env python到jupyter notebook kernels中

1, 打开命令行,进入到要添加的virtual env中,如source activate env012, 安装ipykernel,如pip install ipykernel3, 添加当前环境下的python到jupyter notebook中的kernel里,如ipython kernel install --user --name=kernel_env014,启动jupyter not...

2019-01-21 14:14:14 611

原创 from module import * 时如何限定import的内容

from module import * 时如何限定import的内容方法一,在变量名前加一个下划线比如在module中有如下代码a = 1b = 2_c = 3_d = 4则在from module import *之后可以使用a,b,但找不到_c,_d方法二,使用__all__来定义返回的变量比如在module中有如下代码__all__ =['a','_c']a = ...

2019-01-18 09:27:21 296

原创 关于 from __future__ import

关于 from future import最近阅读一些源代码,在文件头部有这样的:from future import absolute_importfrom future import divisionfrom future import print_function这三行代码究竟有什么用呢?先说__future__,这个module包含了一些新版本的语言特性,当从__future_...

2019-01-10 20:43:39 345

原创 tf.estimator.Estimator用法

tf.estimator.Estimator用法注:本文基本上是看着文档写的。总感觉写的还是差点意思。之后多用几次,有更多经验和体会再来改进吧。Estimator是tensorflow提供的高阶API,封装了train,eval,predict,export的功能。旨在简化和标准化tensorflow的使用。几个有用的link:API Doc:https://www.tensorflow....

2019-01-10 19:25:44 711

原创 python functools 用法总结

python functools 用法总结1, functools.cmp_to_key(key)Python3的sorted函数可以给定一个key函数,如下sorted(data, key=key_func)其中key_func将一个元素转换成可用来比较的值,被称为key functions.与之相对的是comparison functions,接受两个输入,返回比较的结果。如:c...

2019-01-09 18:04:37 4000

空空如也

空空如也

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

TA关注的人

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