- 博客(47)
- 资源 (2)
- 收藏
- 关注
原创 ocr中的编辑距离
当两个字符串都为空串,那么编辑距离为0; 当其中一个字符串为空串时,那么编辑距离为另一个非空字符串的长度; 当两个字符串均为非空时(长度分别为 i 和 j ),取以下三种情况最小值即可: 1、长度分别为 i-1 和 j 的字符串的编辑距离已知,那么加1即可; 2、长度分别为 i 和 j-1 的字符串的编辑距离已知,那么加1即可; 3、长度分别为 i-1 和 j-1 的字符串的编辑距离已知,此时考虑两种情况,若第i个字符和第j个字符不同,那么加1即可;如果不同,那么不需要加1。...
2021-11-16 15:01:16
875
原创 caffe-ssd 预处理流程
# 第一步distort_param { brightness_prob: 0.5 brightness_delta: 32.0 contrast_prob: 0.5 contrast_lower: 0.5 contrast_upper: 1.5 hue_prob: 0.5 hue_delta: 18.0 saturation_prob: 0.5 saturation_lower: 0.5 saturation_upper: 1.5 random_order_p
2020-11-19 11:01:46
271
原创 windows平台使用bazel编译 tensorflow C++ 库
遇到的坑注意对应关系是否正确,tensorflow版本,cuda版本,visual studio的vc版本,bazel版本(下载报错提示中要求的最高版本,否则报错可能性很大,可先用一个较高的版本,然后通过错误提示降级)例如: tensorflow分支r2.3, cuda 10.2, visual studio 2019 (MSVC v14.27), bazel 3.1.0确认环境变量配置正确,相关重要的环境变量如下:Path 检查是否有以下项 (具体路径以实际安装版本为准)C:\Program
2020-10-21 19:30:28
1010
1
原创 Caffe-ssd训练不收敛检查项
数据集数据集生成命令以此为准rm -rf lmdb/; ./caffe-ssd/build/tools/convert_annoset --anno_type=detection --label_type=xml --label_map_file=labelmap.prototxt --check_label=True --min_dim=0 --max_dim=0 --resize_height=0 --resize_width=0 --backend=lmdb --shuffle=False
2020-09-30 10:36:20
264
原创 opencv 依赖库 centos 环境配置
yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=falseyum install libXrender-0.9.10-1.el7.x86_64 --setopt=protected_multilib=falseyum install libXext.x86_64--setopt=protected_multilib=false
2020-06-16 19:04:19
353
原创 AB实验 两类错误
抽样n个, 样本标准差为 n*sigma, 整体标准差为sigma白色和红色分别为A,B的 整体均值 的 分布, 假设A为对照组, B为实验组第一类错误, 红色阴影,伪显著, 红阴影 / 白曲线第二类错误, 蓝色阴影,统计功效,红曲线减蓝阴影 / 红曲线...
2020-05-22 19:19:32
828
原创 用top/free看内存 简明版
free命令先排除不重要的, swap交换分区, 就是用磁盘空间当内存.对于服务器, 如果用磁盘做内存性能影响很大, 内存也不算贵, 节省不了多少成本,划不来. 这里直接弃用交换分区.Mem一行, shared不用看.total = used + free + buff/cache , 服务请求数变大时,used只涨不降, free就是内存的剩余库存, buff/cache是系统用缓存但挤一挤也能挤出点空间的内存. 所以最后available内存就是free加buff/cache能挤...
2020-05-22 14:26:36
194
原创 golang 线程安全队列 读取函数带超时功能
type Deque struct { sync.RWMutex not_empty_notify chan int container *list.List}func (s *Deque) Put(item interface{}) { s.Lock() s.container.PushFront(item) s.Unlock() select { case s.not_empty_notify <-1: d.
2020-05-21 16:01:21
580
原创 flask集成tensorflow问题修复
最近使用flask集成style-gan-encoder模形时, 总是报错:ValueError: Tensor Tensor("block3_conv3/Relu:0", shape=(?, 64, 64, 256), dtype=float32) is not an element of this graph.或者是这样子:tensorflow.python.framework...
2020-04-09 17:36:51
1233
1
原创 ncnn::Mat转cv::Mat
转换时注意三点:ncnn中的数据是float类型, cv::Mat的类型是CV_8UC3, mat.data指定的类型是char *型, 故可以用下标[]直接索引.ncnn中数据的排列格式为(channel, h, w), cv::Mat中数据的排列格式为(h, w, channel).cv::Mat中颜色顺序为RGB, ncnn::Mat格式为BGR.void ncnn_debug(...
2020-01-16 15:26:15
5468
原创 C++ opencv使用中遇到的坑
数据存取在C++中读取cv::Mat的数据时, 如果数据不是8位单字节的,不能使用mat.data[i]的形式读取, 因为data是char *型指针.读取需要指定数据类型, 如mat.at<float>(i).如果使用指针, 需要注意内存是否连续, 如下所示: int nRows = image.rows ; int nCols = image.cols * ...
2019-12-21 14:54:38
826
原创 tf.image.sample_distorted_bounding_box 运行效果demo
原ground truth框运行5次生成的切割方法集成到一张图片中import tensorflow as tfimport matplotlib.pyplot as plt image_bytes = tf.gfile.FastGFile("/Users/beck/Desktop/dl/SSD-Tensorflow-master/demo/dog.jpg",'rb').read()...
2019-11-12 21:46:49
457
原创 不同梯度下降优化方法分析
随机梯度下降1.局部梯度的反方向不一定是函数整体下降的方向(比如隧道型曲面)2.手动设定的学习率衰减很难根据数据自适应3.数据有一定的稀疏性时, 希望对不同特征采取不同的学习率4.神经网络训练中梯度下降法容易困在鞍点附近似牛顿法1.在求目标函数的二阶导数(Hessian Matrix)时, 计算复杂.2.小批量时, 很容易受噪音影响.3.由于似合的是二次曲面,...
2019-10-30 19:25:10
208
原创 GAN,DCGAN,WGAN,WGAN-GP系列模型的演进原因
GAN存在的问题1.对于生成器-log(1-D(x))形式的损失函数, D在训练过程中不能训练太好, 网络难训练.2.对于生成器log(D(x))形式的损失函数, 模形易collapse mode, 训练过程中梯度不稳定.具体数学推导见 https://blog.youkuaiyun.com/bolun365/article/details/102790786DCGAN通过以下3个改进项增强了G...
2019-10-28 23:31:36
857
原创 GAN存在问题的数学推导
判别器损失函数生成器损失函数以下为对生成器损失函数为公式2时问题的推理:最优判别器其中x表示一张图片, Pr(x)表示真实图片中x出现的概率. Pg(x)生成图片中x出现的概率. 最优判别器, 就是通过学习这两种分布, 似合出公式4.当判别器是最优判别器时, 生成器损失函数凑常数项得由于Pr与Pg的支撑集是...
2019-10-28 23:16:32
388
1
原创 深入理解Batch Normalization
在网络中Batch Normalization层一般在激活函数前, 主要起到两个作用:通过计算均值和方差两个参数, 避免上一层的卷积层产生的数据偏移较大, 最终落在激活函数梯度接近为0的区域, 造成递度弥散.本层自学习缩放因子γ和移位因子β(输入每个通道一组), 这两个参数会抵消均值和方差两个参数的部分作用, 从而避免数据落在0附近的线性区域, 增加模形的非线形学习能力.在模形训练过程中...
2019-10-26 21:55:36
378
原创 ReLU特点, 与其它激活函数对比
一、什么是稀疏激活函数(ReLU)ReLU全称是Rectified Liner Uints,其具体形式为y=max(0,x)。 ReLU具有:1、单侧抑制;2、相对宽阔的兴奋边界;3、稀疏激活性等优点。二、为什么ReLU更有效?生物研究表明:生物神经元只对输入信号中很少部分进行响应,大部分信号则被刻意屏蔽掉了。这样做可以更好的提高学习精度,更好更快的提取稀疏特征。这表现为生物神经...
2019-10-26 17:12:23
3976
原创 QR分解
假设a1, a2, a3… 线性无关施密特正交化计算过程如下:b1 = a1b2 = a2 - ( b1.T.dot(a2) / b1.T.dot(b1) ) * b1b3 = a3 - ( b1.T.dot(a3) / b1.T.dot(b1) ) * b1 - ( b2.T.dot(a3) / b2.T.dot(b2) ) * b2br = ar - ( b1.T.dot(ar) /...
2019-07-07 20:41:44
466
原创 numpy索引,axis,stack功能理解
索引Bool索引, 先转换为数字索引再计算arr[[ True, True, False], [False, False, True]] <=> arr[[ 0, 1], [2]] <=> arr[ [0,1], [2,2] ]对于 a[ A, B ] 形式的数据如果A,B格式相同, 返回数据格式与他们相同, A, B分别表示两个维度...
2019-07-04 17:17:31
170
原创 python绘制Mandelbrot分形 详细注释版
import numpy as npimport matplotlib.pyplot as plt def mandelbrot( h,w, maxit=5 ): """Returns an image of the Mandelbrot fractal of size (h,w).""" y,x = np.ogrid[ -1.4:1.4:h*1j, -2:0.8:w*1j ]...
2019-07-04 12:14:52
900
原创 python问题在线定位
pstreeapt-get install psmisciftop 查看网络流量apt-get install iftopstrace 查看系统调用apt-get install stracegdb python查看调用栈apt-get install gdb python2.7-dbghttps://github.com/python/cpython/blob/master/To...
2019-06-12 18:37:10
752
原创 联合国基金会 广告投放 策略
1. 在链接中标识投放的来源http://ecare.unicef.cn/campaign/201904cws/index.php?utm_source=Adwords_DG191&utm_campaign=Adwords-topic_targeting_1*1&utm_medium=DSPC-Xaxis-Response&gclid=EAIaIQobChMI6Ovih...
2019-04-19 11:37:13
758
原创 facebook ads的1 day view 28 day click
By default, Facebook uses a last-touch attribution model, which means we will attribute full credit for a conversion to the last Facebook ad the person clicked or interacted with. If the person did ...
2018-10-10 16:42:45
334
原创 urllib3连接池参数pool_connections, pool_maxsize相关源码解析
问题复现本地新建request.Session, 多线程打开url并发较高时, 出现以下报错:requests.packages.urllib3.connectionpool:Connection pool is full, discarding connection测试代码def test_pool_max_size(): # 测试 pool_maxsize 对多线...
2018-10-07 16:24:11
5499
原创 java随机整数源码分析
public int nextInt(int bound) { if (bound <= 0) throw new IllegalArgumentException(BadBound); int r = next(31); int m = bound - 1; if ((bound & m) == 0) // i
2018-01-04 11:40:03
379
原创 markdown语法精简版
#主标题##主标题二###主题三---**粗体***斜体*`加框`[url](url)<email@>[跳转](#address)<a name="address"></a>跳转结束 连续段落 this="代码块" support_lang="actionscript, apache, bash, clojure, cmake, coffeescript,
2017-04-07 13:52:57
566
转载 golang手动管理内存
作者:John Graham-Cumming. 原文点击此处。翻译:Lubia Yang前些天我介绍了我们对Lua的使用,implement our new Web Application Firewall. 另一种在CloudFlare (作者的公司)变得非常流行的语言是Golang。在过去,我写了一篇 how we use Go来介绍类似Railgun的网络服务的编写
2017-03-24 23:05:48
5017
原创 Too many open files问题解决
Too many open files问题解决systemd服务方式运行的进程数限制在/usr/lib/systemd/system/XXXX.service中加一行[Service]模块中LimitNOFILE=1000000单用户打开文件数限制limit -n /etc/security/limits.conf整个系统打开文件数限制/etc/sysctl.conf 加一行fs.file-max
2016-12-21 12:53:34
1274
原创 golang base64编解码
@bolun365package mainimport ( "encoding/base64" "io/ioutil") const ( base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912") var coder = base64.NewEncoding(
2016-11-30 13:59:22
1382
原创 使用golang遇到的坑
设置进程隔离setns因为golang是多线程的, 所以程序启动后无法被setns.如果必须要用,只能在程序启动时使用c兼容模式设置.结构体tag许多验证包是使用golang结构体的tag来做值的验证的, 这个tag中不能包含制表符,否则只能读取tag中的第一个字段
2016-11-15 11:09:38
3164
1
转载 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-08-19 12:35:18
314
原创 vimrc易读精简版(100ms启动)
@bolun365""""""""""""""""""""""""""" 非特定文件数据加载""""""""""""""""""""""""""set viminfo+=! "Save and restore global variablesset tags=./tags " for ctags (ctags -R --c++-kinds=+
2016-07-11 15:09:46
1620
原创 Oracle带参数的sql语句脚本 转 Oracle存储过程 ---Python实现
由于工作需要将之前写过的大量的脚本转为存储过程,手工改费时且容易出错,所以用Python实现出来.代码如下:
2014-10-23 17:07:10
878
原创 C++栈区的变量分配 与 内存读写越界问题引发的coredump问题
├———————┤低端内存区域 │ …… │ ├———————┤ │ 动态数据区 │ ├———————┤ │ …… │ ├———————┤ │ 代码区 │ ├———————┤ │ 静态数据区 │ ├———————┤ │ …… │ ├———————┤高端内存区域 2ff02670 2ff02670 char b[1]={0,};2ff02674 2ff02678 int d[2]={1,};2ff0
2014-09-29 11:03:17
1441
转载 TCP状态转换图
CLOSED: 这个没什么好说的了,表示初始状态。 LISTEN: 这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了。 SYN_RCVD: 这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本 上用netstat你是很难看到这种状态的,除非你特意写了一个客户
2014-09-10 11:54:13
406
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人