
black science technology
超超爱AI
热爱计算机视觉,专注深度学习的小硕一个。
展开
-
python中的装饰器
序言python中的装饰器作用是提高代码复用性,可用于注册各种func,这里做一下记录。代码简单装饰器def logger(func): print("2平方根是:", func(2))@loggerdef func_tmp(x=2): return x**2传参装饰器def loggerv2(x): def operater(func): print("%d平方根是:"%x,func(x)) # return func r原创 2022-02-18 10:55:56 · 207 阅读 · 0 评论 -
register_hook和register_forward_hook记录
序言在模型剪枝,模型量化以及模型中间层分析过程中都需要一个hook来得到中间结果。这里记录torch的register_hook和register_forward_hook两种方法。register_hookregister_hook是为了获取反向计算的梯度值。def get_grad(grad): print("backward grad is:", grad)x = 2w = torch.randn((2, 1), requires_grad=True)print("init w原创 2022-02-17 20:54:55 · 1236 阅读 · 0 评论 -
Kmeans算法
序言kmeans是无监督学习算法之一,通过随机选择设置的k哥聚类中心,对每一个训练样本计算到k个聚类中心的距离,选择最近距离的一个中心将样本分配给他,最后对每一个聚类中心聚到一起的样本求均值得到新的聚类中心,新的聚类中心和旧的聚类中心之间做差,如果差小于我们设定的最小距离,那么就找到了聚类中心,没有就继续更新。代码import numpy as npfrom copy import deepcopyclass Kmeans(object): """ Kmeans Algorith原创 2022-01-21 17:26:40 · 853 阅读 · 0 评论 -
KNN算法理解
序言KNN作为最基础的机器学习算法,是很多学习算法的孩子们最先接触到的,但该算法从头到尾自己实现也是有一定难度,很多课程只是教怎么调封装好的算法库,却没有教核心的算法怎么从头实现,所以有点舍本逐末。算法核心1、近朱者赤,近墨者黑。根据临近的标签值通过投票法则确定样本类别。2、每一个未知样本都要计算它到所有已知有标签样本的距离。3、k值选择比较重要。代码实现import numpy as npdef createdata(): """ 创建一个数据集 Return:原创 2022-01-11 15:57:39 · 1780 阅读 · 2 评论 -
利用深度学习模型预测双色球
1、前言 深度学习模型可以简单理解为一个高度非线性的复合函数,网路输入可以看作自变量x,输出可以看作因变量y。看过网上其他人做的一些双色球预测,基本上是基于BP神经网络(也就是全连接神经网络)和LSTM的预测方法。其中我认为基于LSTM的方法靠谱一些。但因为本身对LSTM不熟悉,以及我认为卷积神经网络也可以用来做双色球预测,接下来进行尝试。2、数据爬取深度学习模型是基于数据驱动的表达机制,因此首先我们需要获取双色球历史数据,爬虫代码如下:import requests, bs4impo.原创 2020-06-02 09:30:12 · 29435 阅读 · 27 评论 -
python制作电子签名
1、引言 毕业的文件因为疫情影响,很多签名要使用电子签名,众所周知,电子签名可以使用Photoshop制作,但是Photoshop安装过程复杂,占内存,杀鸡焉用牛刀!网上提供的在线转换也要注意安全性!因此我用python写了制作电子签名的方法。2、代码 不废话,直接上代码。# coding: utf-8# Author: An Chaofrom PIL i...原创 2020-05-01 15:00:38 · 4537 阅读 · 2 评论 -
标注神器之auto_labelme
1、深度学习的数据标注是一件惨绝人寰的事情。2、可利用一些参数量大的模型生成掩码,再利用opencv寻找边界,将边界点写入json文件。用labelme读入这些json文件,进行矫正,能够大幅度减少人为标定的工作量。3、代码:# -*- coding: utf-8 -*-import osimport torchfrom cv2 import findContours,con...原创 2019-07-10 20:59:51 · 939 阅读 · 2 评论