- 博客(99)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Python 列表源码解析
列表作为python 最常用的一种数据类型, 一直很好奇其是如何实现动态的扩展的,于是上github看了源代码(https://github.com/python/cpython/blob/master/Include/listobject.h, https://github.com/python/cpython/blob/master/Objects/listobject.c),结合《pytho...
2018-03-17 22:06:42
8261
2
原创 numpy 实现 pytorch ToTensor 和 Normalize
numpy 实现 pytorch transforms.ToTensor 和 transforms.Normalize
2022-05-03 20:57:07
2526
原创 pytorch resnet 自定义数据集分类
pytorch的torchvision内置了resnet主干网络,想要训练自定义分类数据集,只需要将全连接层的替换即可实现自定义数据集分类本次我们使用的是resnet18 做自定义数据集分类项目依赖numpy1.20.3opencv-contrib-python4.5.3.56opencv-python4.5.1.48opencv-python-headless4.5.1.48Pillow8.2.0tensorboard2.4.1tensorboard-plugin-wit1.8.0t
2022-01-12 22:29:24
7205
4
原创 nginx + uwsgi部署django 应用
python web app 部署比如 flask 一般都会和 Gunicorn 一起配合,和django 一般都会和 uwsgi 一起,有人可能要问了,直接使用nginx 反向代理到django 或者flask 不就行了吗,为什么还需要nginx,或者是直接使用uwsgi+django,flask + Gunicorn 直接部署不行吗,为啥还要nginxpython web部署 为什么需要uw...
2020-01-11 14:09:10
302
原创 golang 常用数据类型以及占用内存大小
要搞清楚这个问题先要了解几个常用的存储单位的转换1.bit(位): 二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位。二进制的一个“0”或一个“1”叫一位2.Byte(字节): 计算机中数据的基本单位,每8位组成一个字节int8: 8位,就是一个字节int16: 2个字节int32: 4个字节int64:8个字节float32: 4个字节float64: 8 个字节...
2019-12-26 16:14:19
10025
原创 golang gin + websocket 实现商城客服聊天功能
最近使用 gin 在重构一个商城项目,需要加客服聊天的功能,因此我使用了websocket来实现了,websocket 框架的选择,当然是 github.com/gorilla/websocket1.实现的思路由于之前写python的时候接触过websocket,但是当时是使用类似于广播的机制的,没有做过一对一的聊天.但是既然知道了广播,那一对一也就不是什么难事了首先客户端连接上来时,服务器...
2019-12-10 15:14:40
3946
3
原创 golang 操作 Elasticsearch
这里Elasticsearch的数据直接使用了一个开源库 amazonriver (https://github.com/hellobike/amazonriver)将postgresql 数据库中的数据同步了过来使用了golang的elastic(https://github.com/olivere/elastic)库来操作esdemo 如下:package mainimport (...
2019-10-06 14:30:29
1429
原创 golang redigo 订阅发布的使用
redis 订阅发布功能可以做到类似生产者消费者的功能,是进程间通讯的一种手段以下记录一下使用golang redis 的包 redigo 实现redis 订阅发布功能代码如下:package mainimport ( "fmt" "github.com/gomodule/redigo/redis" "sync")func NewRedisClient() (conn red...
2019-10-03 20:18:01
813
原创 golang 快排
package mainimport "fmt"/* 快速排序 快速排序 复杂度 N * (logN) 原理为有两个指针:low, high 分别指向列表的第一个元素,和列表最后一个元素,和一个中间值 mid(就是取列表的第一个元素) 一开始 low 默认情况下就指向了mid, high 指向列表最后一个元素 [8, 3, 15, 7, 6, 2] ...
2019-06-21 13:49:28
968
原创 python 快排
def quick(lst, start, end): """ 快速排序 复杂度 N * (logN) 原理为有两个指针:low, high 分别指向列表的第一个元素,和列表最后一个元素,和一个中间值 mid(就是取列表的第一个元素) 一开始 low 默认情况下就指向了mid, high 指向列表最后一个元素 [8, 3, 15, 7, 6, 2] ...
2019-06-21 13:47:57
1428
1
原创 golang 实现二叉树遍历
前序遍历 前序遍历的顺序是 根 -----> 左子树 -----> 右子树中序遍历中序遍历的顺序是 左子树 -----> 根 ------> 右子树后序遍历后序遍历的顺序是 左子树 -----> 右子树 -----> 根package mainimport "fmt"// 二叉树的数据结构type TreeNode struct {...
2019-06-16 23:26:48
2253
原创 python 实现二叉树(有序)的遍历
前序遍历 前序遍历主要是顺序是 根 -----> 左子树 -----> 右子树中序遍历 中序遍历的主要顺序是 左子树 -----> 根 -----> 右子树后序遍历后序遍历的主要顺序是 左子树 -----> 右子树 -----> 根class Node(object): def __init__(self, data):...
2019-06-16 23:22:18
492
原创 golang实现双链表
双链表的定义一个节点包含数据区,还有一个指针指向前一个节点,一个指针指向后一个节点因此实现双链表需要定义这样的一个数据结构数据结构的定义import "fmt"type Node struct { Data int Prev *Node Next *Node}实现链表功能的封装type DeLinkList struct { head *Node # 由于链表任何操作都...
2019-06-03 14:06:50
639
原创 python实现双向链表
双向链表的定义数据节点包含两个指针,一个指向前一个元素,一个指向后一个元素,因此需要定义一个双链表的数据结构完整代码如下:# 数据结构定义class Node: """ 双向链表,每个节点除了指向下一个元素之外,还需要指向前一个元素 1---->2<=====>3<====>4---->None """ def ...
2019-06-03 13:58:29
244
原创 golang实现栈,队列
栈(LIFO)package mainimport ( "fmt" "sync")/* 使用 golang 实现栈 栈是一种LIFO(Last In First Out) 的数据结构,可以封装一个slice实现 */type Stack struct { s []int Mutex sync.Mutex}func (self *Stack) Push(value...
2019-06-02 14:02:02
817
原创 python实现栈,队列
栈(LIFO)class Stack(object): """ 使用 python 实现栈 栈是一种LIFO(Last In First Out) 的数据结构,可以封装一个list实现 """ def __init__(self): self.__stack = list() def push(self, value): ...
2019-06-02 13:59:07
727
原创 python 实现单链表
golang版本:https://blog.csdn.net/lucky404/article/details/90716410""" 使用python实现单链表 add 操作:在链表首部添加 append 操作:在链表尾部添加,从头部找到最后一个元素,把最后一个元素指针指向需要添加的元素 insert 操作:在指定位置添加,往中间插入元素,需要调整插入该位置的元素之前的指针,还有该元...
2019-05-31 16:02:12
187
原创 golang 实现单链表
package mainimport "fmt"/* 使用golang实现单链表 add 操作:在链表首部添加 append 操作:在链表尾部添加,从头部找到最后一个元素,把最后一个元素指针指向需要添加的元素 insert 操作:在指定位置添加,往中间插入元素,需要调整插入该位置的元素之前的指针,还有该元素的指针需要指向下一位 delete 操作:删除指定的元素,删除任意位置的...
2019-05-31 15:01:26
1368
1
原创 go 使用sort对数组排序
抓住4月的尾巴更新一篇博客关于golang对slice的排序,golang对数组的排序没有像python那么方便,python直接使用listObj.sort()就可以完成对数组元素的排序,golang里面需要使用sort包,并且实现几个接口Len, Swap, Lesssort 包排序demo假如现在有个slice 叫做 ids 里面保存的数据类型是int32import "sort"...
2019-04-30 23:28:21
8353
原创 解决 yolo: Demo needs OpenCV for webcam images
最近尝试了使用 yolo 进行目标检测,当我检测图片时没有问题,但是检测视频的时候出现了提示: Demo needs OpenCV for webcam images问题出现的原因默认情况下yolo的Makefile文件有个配置OPENCV=0,你需要将它改成 0 ,然后重新make 编译make 编译就会启用 opencv,此时你需要在你的电脑上安装opencv 才可以修改Makefil...
2019-03-07 11:17:10
8347
11
原创 python人脸识别
之前曾经写过一篇博客,使用dlib进行人脸检测,就是检测视频中是否出现了人脸,dlib 还可以实现人脸识别。因此今天更新博客主要是记录如何使用 python + opencv + dlib 实现人脸识别人脸识别的主要算法其核心算法是 欧式距离算法使用该算法计算两张脸的面部特征差异,一般在0.6 以下都可以被认为是同一张脸人脸识别的主要步骤1 获得人脸图片2 将人脸图片转为128D的矩阵(...
2019-03-05 15:31:19
21918
23
原创 python人脸检测
最近接触到一个很酷的模块 dlib 来看看官方的介绍:Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. It is used in both industry...
2019-03-01 15:22:40
1673
1
原创 go protobuff的使用
protobuff 是谷歌的一个广泛用于前后端通信的序列化数据格式,在平时的开发过程中前后端用于数据交互的常用数据格式就是 json 和 xml, protobuff比 xml 和 json 数据都要快因此 protobuff 在游戏行业当中使用的比较多。使用protobuff的步骤1 安装 protoc 编译器, 安装go 语言protobuff 包2 定义 .proto文件3 编译成对...
2019-02-27 11:17:41
1473
原创 ab(apache bench) 压力测试工具的使用
之前曾经写过一篇博客是关于使用 webbench 对网页进行压力测试的(https://blog.csdn.net/lucky404/article/details/86688286), 但是 webbench 有一个弊端就是 无法使用 post 方法, 因此今天来讲一个 Linux 平台下面功能更加丰富的压力测试工具 apache bench (ab)的使用ab 压力测试的大概实现原理ab ...
2019-02-10 13:58:13
510
原创 postman 接口测试
大年初五迎财神! 今天来写一篇 使用 postman, 平时开发中都涉及到接口开发, 都会使用postman来对接口进心测试 今天就来写一篇 关于如何使用postman 进行接口测试的博客下载 postmanhttps://www.getpostman.com/downloads/安装 postman由于是傻瓜式安装,因此这一步直接跳过了使用postman以豆瓣电视剧的接口为例htt...
2019-02-09 14:22:28
1732
4
原创 使用jmeter进行http压力测试(适合小白观看)
今天2019年2月4日,除夕贴完对联等着过大年了! 今天来更新一篇博客,关于如何使用 jmeter 对web 进行压力测试,由于我的个人电脑是 deepin(Linux) 操作系统,因此这里就在Linux环境下演示,其实 Linux 演示和 windows下演示并没有很大的区别,如果你是小白用户刚安装完 jmeter, 那么这里的Linux环境的演示区别仅仅在于启动jmeter的方式不同,wind...
2019-02-04 18:31:13
2212
原创 go检查ip地址格式是否正确
2019 年 1 月 3 日 春节放假 第二天,终于有比较清闲的时间了,今天来更新一下博客关于使用go 如何 检查ip 地址是否是正确的格式的,比如 15.69.00.5 还有 10.23.76.256 这些显然不是一个正确的 ipv4的地址格式,一般来说检查 ip 地址 email 之类的 格式是否合法的大家都会想到使用 正则表达式,其实关于检查 ip 地址格式的go的net 包已经提供了一...
2019-02-03 17:22:46
8032
原创 windows10/linux(ubuntu)安装 jmeter
jmeter 是 Apache 软件基金会的一个性能测试工具,开源,免费,轻量级因此在性能测试方面使用的比较多目前支持的软件或者是协议大概如下Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET,…)SOAP / REST WebservicesFTPDatabase via JDBCLDAPMessage-oriented Middleware...
2019-01-29 18:51:18
461
原创 webbench web测试工具的使用
在Linux环境下面 我们如果想对某个网站进行并发方面的压力测试就可以使用 webbench 来实现安装webbench下载wget http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz解压tar -xf webbench-1.5.tar.gz安装依赖yum install -y ctagsyum -y install ...
2019-01-29 12:32:40
348
原创 go 设置channel 超时
go的channel 默认的情况下,如果写入了数据没有被读取走,或者读取一个空的channel就会导致阻塞的情况如果逻辑有问题,比如channel 一直没有写入数据,而有一段代码又在读取channel,则会触发deadlock panic我们可以使用 time模块的After 函数来实现,等待多少时间内,channel 没有数据,就超时,程序继续往下执行使用time.After 实现ch...
2019-01-24 16:59:33
3999
原创 go按行读写文件
2019年第一篇博客兜兜转转又回来更新go的博客了,今天来讲一下如何使用golang进行文件的读写文件读写需要使用的包osioutilbufiostrings文件读写总是少不了判断文件是否存在!go里面使用os.Stat 和 os.IsNotExist 相结合来判断文件是否存在os.Stat 是用来获取文件的相关信息的,比如文件大小,最近一次修改时间等,但是假如文件不存在就返...
2019-01-11 15:20:13
5878
4
原创 keras图像识别
终于抓住11月的尾部,赶在12月到来之前进行更新了,2018准备要跟我们说拜拜了,小伙伴们你们今年的目标实现了吗?,好了扯远了,今天趁着有时间更新一下博客,记录一下使用keras + tensorflow + cpu 如何进行图像识别以下的教程是基于Linux系统来实现的,有windows的同学可能需要改改,但是不建议使用windows来跑还有由于识别的图像比较多内存小于等于4G的同学要跑的话...
2018-11-28 11:49:25
11591
20
原创 使用keras内置的模型进行图片预测
keras 模块里面为我们提供了一个预训练好的模型,也就是开箱即可使用的图像识别模型趁着国庆假期有时间我们就来看看这个预训练模型如何使用吧可用的模型有哪些?根据官方文档目前可用的模型大概有如下几个VGG16VGG19ResNet50InceptionResNetV2InceptionV3它们都被集成到了keras.applications 中模型文件从哪来当我们使...
2018-10-03 13:28:19
9911
14
原创 numpy安装与常用的属性方法
最近两个月没有更新博客是因为我在尝试使用keras进行图像识别,然后里面就使用到了numpy,今天我就来写一下numpy为什么在机器学习领域那么使用的那么多,现在我们先来安装一下numpy简单介绍numpynumpy 底层采用c 语言编写 它的主要的使用领域是科学技术领域,非常适合做矩阵运算什么是矩阵? 简单说一下,我们都知道在任何一门编程语言里面都有列表或者数组的概念也可以叫做向量...
2018-09-28 11:01:06
443
原创 go socket编程
go的网络应用方面程序的编写都在net包里面, 比如net/http, net/rpc, net/mail, net/smtp 等, 今天我们主要来讲解如何使用net/socket 来编写一个socket 客户端和服务端 使用net包来检查 ip 地址是否是合法的ip 地址我们可以使用net.ParseIP() 方法来检查, 如果该方法返回了nil 则说明ip 地址是错误的,比如 1...
2018-07-28 21:26:30
856
原创 go 数据类型转换
在编程过程中我们经常遇到各种数据类型的转换,例如 string 类型的转换成int 在go 里面使用strconv 包来实现其他类型转string 使用Format系列函数来实现 来看demofunc FormatString() { // Format 系列函数把其他类型的转换为字符串 // bool 转string bool2str := strc...
2018-07-14 19:49:35
873
原创 go 操作xml 和 json
go 操作xml 和 json 分别使用 encoding/xml 和 encoding/json 来实现 下面我们通过代码来讲解一下go 操作xml 文件 和 json 格式数据读取xml 假设我有一个xml 文件如下 C:\\Users\\admin\\go\\src\\html\\mgr.xml&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-...
2018-07-12 22:16:07
820
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人