<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u010397980的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u010397980</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010397980]]></copyright><item><title><![CDATA[抠像小工具]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/154697113</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/154697113</guid><author>u010397980</author><pubDate>Tue, 11 Nov 2025 17:09:42 +0800</pubDate><description><![CDATA[一键抠图小工具，支持GPU加速]]></description><category></category></item><item><title><![CDATA[梯度下降法拟合直线]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/124317178</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/124317178</guid><author>u010397980</author><pubDate>Thu, 21 Apr 2022 11:29:14 +0800</pubDate><description><![CDATA[给定300个样本点(x, y)。拟合直线：

设直线方程为y = w*x + b

其中：x，y是给定的样本点，作为训练集。w和b是待拟合的参数。

改问题可以转化为，优化函数 f(w, b) = y - w*x - b

使用平方损失，转化为优化：f(w, b) = (y - w*x -b)^2

求w的梯度为: grad_w = -x * 2(y - w*x -b)

求b的梯度为：grad_b = -1 * 2(y - w*x -b)

再使用：

w = w - lr * grad_w

b = b]]></description><category></category></item><item><title><![CDATA[梯度下降法解方程，求函数极值]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/114897378</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/114897378</guid><author>u010397980</author><pubDate>Tue, 16 Mar 2021 20:16:11 +0800</pubDate><description><![CDATA[设要求方程的值：

我们采用mse（误差平方和）作为优化函数：

上面的问题即可转化为求：的最小值了

求该公式的导数/梯度为：

我们随机给x初始化一个值，然后使用导数公式来更新x的值，其中lr为学习率/步长：

若设置初始值x=10，则更新代码为：


x = 10
lr = 0.001
for i in range(1000):
    grad = 2 * (x**2 - 5) * (2 * x)
    x = x - lr * grad
    print("iteration: {}, gra]]></description><category></category></item><item><title><![CDATA[使用飞桨一步步实现多语言OCR文字识别软件]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/111940566</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/111940566</guid><author>u010397980</author><pubDate>Wed, 06 Jan 2021 01:39:29 +0800</pubDate><description><![CDATA[最近熟悉了一下飞浆paddle 2.0，使用过程很方便，整体使用方法和pytorch相差不大。同时PaddleOCR也进行了适配。

相关链接：

最终的软件：https://github.com/zhangming8/Dango-ocr

OCR算法服务：https://github.com/zhangming8/ocr_algo_server

整个文章分为2部分：算法篇、软件篇。



一、算法篇:

a. OCR算法模型

算法主要使用PaddleOCR(https://github.com/Pa.]]></description><category></category></item><item><title><![CDATA[把voc格式的标注文件.xml转为coco格式的.json文件]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/90341223</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/90341223</guid><author>u010397980</author><pubDate>Sun, 19 May 2019 12:58:24 +0800</pubDate><description><![CDATA[在训练目标检测模型的时候一般使用labelimg标注的图像生产.xml格式的标注文件。有时候需要用到coco格式的json标注文件，在github找到了一个xml转json的脚本。(https://github.com/CivilNet/Gemfield/blob/master/src/python/pascal_voc_xml2json/pascal_voc_xml2json.py)

执行该脚...]]></description><category></category></item><item><title><![CDATA[18.6使用官方的slim训练模型并finetune微调]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/89439714</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/89439714</guid><author>u010397980</author><pubDate>Sun, 21 Apr 2019 21:14:09 +0800</pubDate><description><![CDATA[本文接着博客18.1，请先参考https://blog.youkuaiyun.com/u010397980/article/details/84930880

如果嫌自己写网络结构有些麻烦，可以直接从tensorflow的slim包中直接调用模型结构。从tensoflow的github下载slim包，该包中有很多模型也包含在imagenet预训练的权重。详见https://github.com/tensorf...]]></description><category></category></item><item><title><![CDATA[ubuntu16.04 安装opencv过程]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/89439515</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/89439515</guid><author>u010397980</author><pubDate>Sun, 21 Apr 2019 21:05:25 +0800</pubDate><description><![CDATA[ubuntu16.04 安装opencv过程:



从这下载源码 https://opencv.org/releases.html

或者链接: https://pan.baidu.com/s/1qwj0cBKNvSVisl8JkuKMZw 提取码: pmeu

，这里使用的opencv是3.4.5



unzip opencv-3.4.5.zip



sudo apt-get ins...]]></description><category></category></item><item><title><![CDATA[c++调用pytorch模型并使用GPU进行预测]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/89437628</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/89437628</guid><author>u010397980</author><pubDate>Sun, 21 Apr 2019 20:38:14 +0800</pubDate><description><![CDATA[pytorch很好用，但是真实部署还是使用c++较多，因此需要用c++调用训练好的pytorch模型。参考官方示例https://github.com/apachecn/pytorch-doc-zh/blob/master/docs/1.0/cpp_export.md安装libtorch。但是官方示例中并没有使用真实的例子，且使用的是cpu版本的。

下面用一个真实的例子并用gpu，本示例的所有程...]]></description><category></category></item><item><title><![CDATA[【matplotlib】确定某个点是否在4边形内]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/89396660</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/89396660</guid><author>u010397980</author><pubDate>Fri, 19 Apr 2019 11:39:07 +0800</pubDate><description><![CDATA[如何确定某个点的坐标是否在某个4边形范围内的问题。

在这里使用一个非常简单的方法。matplotlib.path


# -*- coding:utf-8 -*-
from matplotlib.path import Path
import numpy as np
import math


def cos_dist(a, b):
    if len(a) != len(b):
      ...]]></description><category></category></item><item><title><![CDATA[目标检测数据增强:翻转、旋转90、随机裁剪、对比度等]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/88088025</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/88088025</guid><author>u010397980</author><pubDate>Sun, 03 Mar 2019 14:46:17 +0800</pubDate><description><![CDATA[在目标检测中，常用到数据增强。下面为集中增强方式。每个函数的输入为图像及box框，返回变换后的图像及box框。

这里的demo使用voc格式的.xml标注的数据。使用readAnnotations函数读取xml。返回box框，如box: [[404, 30, 500, 374, 222], [386, 83, 479, 374, 222], [272, 65, 415, 374, 222], ...]]></description><category></category></item><item><title><![CDATA[使用yolov3-tiny训练一个人脸检测器]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/86764637</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/86764637</guid><author>u010397980</author><pubDate>Tue, 05 Feb 2019 17:35:38 +0800</pubDate><description><![CDATA[    春节放假回家时，在北京西乘坐高铁进站时发现，现在出现了很多自助进站验证对pos机器，主要是对身份证和个人的照片进行匹配，判断是不是同一个人，无需人工check了，省时省力。春节在家没事干，想起了人脸识别的事情，感觉挺好玩，就试着先训一个人脸检测模型。这里的识别效果并不会和目前最先进的模型进行对比，只是觉得好玩测试一下流程而已。

    一、人脸检测数据的准备

我使用的是widerfac...]]></description><category></category></item><item><title><![CDATA[简单安装cuda：ubuntu16.04安装cuda9.0，cudnn7.4]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/86512742</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/86512742</guid><author>u010397980</author><pubDate>Wed, 16 Jan 2019 18:40:58 +0800</pubDate><description><![CDATA[在网上看了那么多博客，ubuntu安装cuda时要卸载各种什么驱动了，什么旧cuda了，什么旧包了...，搞到最后电脑系统都出问题了，坑，汗。这里介绍一种十分简单地安装cuda的方法，根本不需要卸载任何东西。另外说明一下如果想从cuda8升级到cuda9也不需要卸载cuda8，直接跟着下面的命令走就行了。

（https://pan.baidu.com/s/107hc3DLVcgh5UXAxqAg...]]></description><category></category></item><item><title><![CDATA[3:pytorch进行分类及预测示例-加载txt文件指定的数据]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/86386145</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/86386145</guid><author>u010397980</author><pubDate>Sun, 13 Jan 2019 00:45:05 +0800</pubDate><description><![CDATA[上一篇博客是利用torch自己的datasets工具加载数据。这里加载.txt文件中的数据，txt内容包括图像的路径及标签，中间用空格分开，如下图所示，这个txt文件用python很容易生成。



 

完整代码如下：

较之前的代码多了一个LoadMyDataset类，该类替换类原来的datasets.ImageFolder。此外，还增加了一种RandomErasing随机擦除的数据增强方法(...]]></description><category></category></item><item><title><![CDATA[2:pytorch进行分类及预测示例]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/86385383</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/86385383</guid><author>u010397980</author><pubDate>Sun, 13 Jan 2019 00:25:14 +0800</pubDate><description><![CDATA[官网的分类代码东西太多，很多功能用不上，于是对官网的代码进行了修改。

main()函数对训练模型；predict()函数对训练好的模型进行调用预测。

训练图像放在sku_train文件夹中，里面有子文件夹，这些子文件夹的名字分别为各个类，每个子文件夹下为各类的图像。

验证图像放在sku_val中，文件结构同上。


# -*- coding: utf-8 -*-

from __future...]]></description><category></category></item><item><title><![CDATA[1:pytorch进行分类及预测示例]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/86385115</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/86385115</guid><author>u010397980</author><pubDate>Sun, 13 Jan 2019 00:14:17 +0800</pubDate><description><![CDATA[pytorch官网有很好的教程(https://pytorch.org/tutorials/)，相信看完后收获很大，有时候官网国内上不去，我把官网的教程保存下来了(链接: https://pan.baidu.com/s/1e6DOTkjCUVojPuedE2fWiQ 提取码: wjix)。

官网给的分类代码(https://github.com/pytorch/examples/blob/mas...]]></description><category></category></item><item><title><![CDATA[18.5使用tensorrt加速tensorflow的预测/前向传播速度]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/86382849</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/86382849</guid><author>u010397980</author><pubDate>Sat, 12 Jan 2019 23:48:57 +0800</pubDate><description><![CDATA[本文接着前面的18.1至18.3博客。

nvidia推出的tensorrt可以加速前向传播的速度。本文采用tensorflow训练好的mobilenetv2模型进行测试，按照前面博客我们已经可以把训练好的模型转为.pb的格式了，这里的tensorrt就是对.pb文件进行加速。

一、tensorrt安装

安装方法参考https://developer.download.nvidia.com/c...]]></description><category></category></item><item><title><![CDATA[python保存加载.mat文件]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/85606194</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/85606194</guid><author>u010397980</author><pubDate>Wed, 02 Jan 2019 11:58:54 +0800</pubDate><description><![CDATA[
#coding:utf-8
import scipy.io as sio

# save .mat
name = 'aaa.mat'
x = [[1,1,1,2], [1,1,1,3], [1,1,1,4]]
y = [5,6,7,8]
sio.savemat(name, {'x': x, 'y': y})


# load .mat
name = 'aaa.mat'
data = sio.lo...]]></description><category></category></item><item><title><![CDATA[使用python的json包保存加载json]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/85248345</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/85248345</guid><author>u010397980</author><pubDate>Tue, 25 Dec 2018 15:11:48 +0800</pubDate><description><![CDATA[
import json

# save json
f = open('aa.json', 'w')
data1 = {'name':'john', &quot;age&quot;:12}
data1[&quot;num&quot;] = 1
data2 = {'name':'merry', &quot;age&quot;:13}
data = [data1, data2]
print(data)
json.dump(data, f, ensure_asc...]]></description><category></category></item><item><title><![CDATA[使用python的matplotlib.pyplot画图]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/85230842</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/85230842</guid><author>u010397980</author><pubDate>Mon, 24 Dec 2018 11:24:48 +0800</pubDate><description><![CDATA[
#coding:utf-8

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,45]
y = [5.4, 4.5, 4.32, 4.25, 4.25, 4.18, 4.16,...]]></description><category></category></item><item><title><![CDATA[目标检测5: faster-rcnn改进版, yolov3, retinanet效果比较]]></title><link>https://blog.youkuaiyun.com/u010397980/article/details/85058838</link><guid>https://blog.youkuaiyun.com/u010397980/article/details/85058838</guid><author>u010397980</author><pubDate>Tue, 18 Dec 2018 00:25:27 +0800</pubDate><description><![CDATA[上接前面4篇。

下图显示了faster改进版，yolov3，retinnet结果的比较，图来自yolov3论文。

    从效果上看：整体上retinanet效果最好，但速度不及yolov3，约为yolov3的3.8倍。yolov3效果不如retinanet的原因可能是：focal loss起作用了；retinanet使用较多的anchor(retinanet每个尺寸的输出使用9个anchor...]]></description><category></category></item></channel></rss>