
Python
文章平均质量分 68
ybdesire
Talk is cheap. Show me the code.
展开
-
基于trl复现DeepSeek-R1的GRPO训练过程
本文讲解了借助trl对Qwen2.5-0.5B-Instruct做GRPO的强化学习训练(DeepSeek)的过程,包括数据、数据处理、reward函数定义、训练前后的模型输出差异。原创 2025-03-01 23:15:00 · 1588 阅读 · 1 评论 -
atheris从安装到fuzz输入输出解读
atheris对py代码进行fuzz的详细过程原创 2025-01-24 23:30:00 · 1005 阅读 · 0 评论 -
用gurobipy求解带不等式约束条件的优化问题
python用gurobipy求解带不等式约束条件的优化问题的具体实现代码。原创 2024-08-10 23:00:00 · 835 阅读 · 0 评论 -
不同文本相似性度量方法的效率测试与排名
本文测量strsimpy中的一些相似性度量方法的性能,排名从计算速度最快到最慢原创 2024-07-12 23:15:00 · 464 阅读 · 0 评论 -
conda create 报错 Connection to repo.anaconda.com timed out 的修复
conda create 环境时,报错 Connection to repo.anaconda.com timed out 的修复方法原创 2024-04-22 23:45:00 · 4159 阅读 · 1 评论 -
记一次Centos7上无法连接到MongoDB的处理步骤
当mongodb出现问题时,可以通过mongodb的log(`sudo tail /var/log/mongodb/mongod.log`),或者看命令`mongod`的输出,来定位问题。原创 2024-01-31 23:30:00 · 733 阅读 · 0 评论 -
对curl,git,python添加proxy的方法
对curl,git,python添加proxy的方法原创 2023-12-21 23:15:00 · 733 阅读 · 0 评论 -
python统计字符串中大小写字符个数的性能实测与分析
统计字符串中大小写字符个数,有不同的写法,性能也不同原创 2023-11-25 23:30:00 · 1019 阅读 · 0 评论 -
替代huggingface下载大模型的站点
替代huggingface下载大模型的站点原创 2023-11-11 23:45:00 · 3024 阅读 · 0 评论 -
用pyinstaller打包LGBM模型为ELF/EXE可执行文件
写好的python代码和模型,如果需要做到离线部署、运行,就必须要将代码和模型打包为可独立运行的可执行文件,本文讲解具体步骤、两种打包方式的区别和相关经验。原创 2023-10-03 21:13:45 · 820 阅读 · 0 评论 -
AttributeError: /lib64/libmagic.so.1: undefined symbol: magic_getparam
python报错的解决:libmagic.so.1: undefined symbol: magic_getparam原创 2023-09-18 15:27:31 · 246 阅读 · 1 评论 -
详解混合类型文件(Polyglot文件)的应用生成与检测
本文总结了混合类型文件的定义,使用混合类型的恶意样本家族,如何生成混合类型文件,以及非混合类型的文件检测及混合类型文件检测的方法。原创 2023-09-16 22:03:05 · 763 阅读 · 0 评论 -
将目录下的所有pdf文件都转换为对应名字的png图片
将目录下的所有pdf文件都转换为对应名字的png图片原创 2023-09-01 07:44:29 · 568 阅读 · 0 评论 -
详解二进制文件信息熵Entropy的计算
详细讲解信息熵的计算过程细节,以及如何用python编程求取PE文件的entropy(熵,信息熵)原创 2023-02-07 22:18:45 · 4353 阅读 · 0 评论 -
FeatureHasher使用方法详解
FeatureHasher输入不同类型数据(dict,int,int list,string,string list,pair)的使用方法与代码示例。原创 2023-01-10 22:41:21 · 2273 阅读 · 0 评论 -
从源码理解PyVarObject与PyObject的区别
定长对象(比如int),是基于PyObject来定义的;而变长对象(比如string),是基于PyVarObject来实现的。原创 2022-09-16 22:02:02 · 1062 阅读 · 0 评论 -
python对象pyObject的源码实现
python的源码中设计了哪些对象,环状双向链表是什么?原创 2022-07-09 21:40:25 · 1345 阅读 · 0 评论 -
动态调试python源码的步骤与案例
调试python源码,用VS动态调试cpython原创 2022-06-25 23:08:32 · 1667 阅读 · 0 评论 -
详解XML节点属性排序
用python实现“对xml节点中的属性进行排序”原创 2022-03-25 22:37:27 · 4916 阅读 · 0 评论 -
python自带的轻量级虚拟环境venv
python的3.3版本后,引入venv,有什么优点,具体如何用?原创 2022-02-22 22:34:40 · 20752 阅读 · 0 评论 -
vaderSentiment实现文本情感分析
vaderSentiment(参考1)是一个`基于词典和规则`的情感分析工具,作者专门对社交媒体信息做过调优,并在2014年发表过一篇文章(参考2),目前文章的引用量已经高达2680了(截止到20211105)。原创 2022-02-14 23:06:53 · 8200 阅读 · 0 评论 -
sklearn的LinearRegression源码理解
sklearn的LinearRegression源码,会首先对数据做预处理(X,Y都减去列均值),然后再用numpy中lstsq求解线性回归原创 2022-01-26 21:28:52 · 3430 阅读 · 1 评论 -
特征重要性计算之LOFO与FLOFO
1. 引入特征的重要性,即feature importance,使用sklearn自带的一些模型,就能计算出来。比如RandomForest取feature_importance的用法如下:from sklearn.ensemble import RandomForestClassifierfrom sklearn.datasets import load_breast_cancer, load_irisdata = load_iris()x_data = data.datay_data =原创 2021-11-03 23:25:07 · 1014 阅读 · 0 评论 -
自动机器学习框架auto-sklearn基础编程案例
1. 引入德国科学家在2015年时,在NIPS会议上发表了关于“自动机器学习框架”的方法(参考2),并开源了一个叫做auto-sklearn的项目(参考1)。在2020年,他们又对这个auto-sklearn框架进行了优化(参考3)。初步看来,auto-sklearn能自动选择sklearn中不同模型,并最终找出最优的ensemble多模型集成学习方案。2. 安装参考4中给出了安装方法,需要python3.6以上的版本。ubuntu上的安装步骤sudo apt-get install bui原创 2021-08-03 23:36:23 · 1303 阅读 · 1 评论 -
从源码理解pickle和joblib加载dict的性能不同
1. 引入最近有发现,pickle在加载(load)比较大的dict时,速度是比joblib快的。上网查了下pickle和joblib的区别,发现写这个主题的内容比较少。所以本文试对“pickle和joblib在加载dict时的快慢区别”这个主题进行了一些测试与研究。2. 验证 pickle 与 joblib 加载 dict 快慢测试使用如下代码,首先建立一个比较大的dict,并用pickle与joblib分别进行dump/load测试。import timeimport pickleimp原创 2021-06-21 22:06:36 · 1038 阅读 · 0 评论 -
手动下载并安装nltk_data
1. 引入使用nltk的tokenizer、模型、语料之前,都要先运行如下代码进行下载:import nltknltk.download()但网络原因,笔者从未成功下载过。发现一种离线安装方式(参考1,2),折腾配置成功了,步骤如下。2. 具体步骤下载nltk_data下载链接: https://github.com/nltk/nltk_data/tree/gh-pages注意下载branch为gh-pages,下载后得到:nltk_data-gh-pages.zip上传到服原创 2021-04-15 23:10:58 · 2793 阅读 · 1 评论 -
dhash计算源码分析
1. dhash参考1中,给出了一种相似图片搜索中,能用于计算图像hash值的算法,叫做dhash。用dhash计算图片hash,既能兼顾计算效率,又能兼顾准确率。那么好的东西,也已经有开源版本实现了,见参考2。2. dhash lib的用法参考2给的lib,根据其readme,得到在python中用法如下:import dhashfrom PIL import Imagedef get_dhash(img_path): image = Image.open(img_path)原创 2021-04-01 22:34:48 · 829 阅读 · 0 评论 -
详解如何获取深度学习模型中间层的输出值
1. 引入深度学习模型,大都是多层的网络,各个层可能各有不同(Dense, Dropout, Flatten, Activation, BatchNormalization, GlobalAveragePooling2D,Conv2D, MaxPooling2D, ZeroPadding2D,LSTM)。有时候我们需要获取多层网络中某一层的输出值,用于做可视化,或者Embedding。下面就以一个例子为例说明如何获取神经网络某一层的输出值。2. 构建网络,各层加上name本文构建的多层网络模型如下原创 2021-03-26 23:07:14 · 8073 阅读 · 4 评论 -
USACO打铜的记忆
用python,练练手,动动脑,挺好的,拿到铜,记录下原创 2021-03-11 23:04:15 · 221 阅读 · 0 评论 -
相似图片搜索中的均值哈希(aHash)
1. 引入参考1中介绍了相似图片搜索的基本原理,借助milvus(参考2)这样的相似性搜索引擎,我们可以非常快速的实现相似性搜索。但实现搜索之前,需要把图片转换为特征向量。本文介绍的均值哈希,就是图片的一种特征。2. 均值哈希的计算过程读入图片并转换为灰度图import numpy as npimport cv2img = cv2.imread('Alyson_Hannigan_200512.jpg', cv2.IMREAD_GRAYSCALE)# IMREAD_GRAYSCALE, IM原创 2021-02-23 22:01:59 · 1262 阅读 · 0 评论 -
使用keras.layers.Reshape实现不同维度任意层之间的对接
1. 引入keras提供了很多不同的layer给我们使用,常用的比如Dense, Dropout, Flatten, Activation, BatchNormalization, GlobalAveragePooling2D,Conv2D, MaxPooling2D, ZeroPadding2D,LSTM等等。我们使用这些layer,像搭积木一样逐层链接,就能实现深度学习模型。但是,keras提供的layer都是传统的layer。有一些比较新的layer,keras是不能那么快提供给我们用的。所以一些原创 2021-02-18 23:31:59 · 13689 阅读 · 2 评论 -
详解softmax
1. 引入在分类问题中,我们常用softmax和sigmoid作为神经网络输出层的激活函数,这样可以让网络输出样本属于各个类别的概率值。在二分类问题中,常用sigmoid。多分类问题中,使用softmax,它能把多个神经元的输出,映射到(0,1)区间内,可以把各个输出值看成概率来理解,即是样本属于某一个类别的概率,从而做到多分类。简单来说,softmax就是能把一组数据,转换为各个数据对应的概率值,如下所示:数据:[-1.1, -4.9, 1.2, -2.4, 2.2, 2.4]softmax输原创 2020-07-10 21:58:24 · 1322 阅读 · 0 评论 -
详解语言模型
语言模型,能够告诉你,某个特定的句子,出现的概率是多少原创 2020-02-26 20:30:53 · 1235 阅读 · 0 评论 -
详解python中的*args与**kwargs的用法
引入用itertools做多个item的组合问题,使用方式如下import itertoolsall_list = [['A', 'B'], ['C', 'D'], ['E','F']]list(itertools.product(*all_list))这段代码会生成三个list中元素的组合结果,如下所示:[('A', 'C', 'E'), ('A', 'C', 'F'), ('...原创 2019-12-28 20:09:56 · 830 阅读 · 0 评论 -
多个列表中的元素做组合的逻辑与python实现
引入本文组合逻辑的讲解,与代码,都是基于python的。我们在实际编程中,会遇到多个元素做组合的过程,比如,给定如下4个列表list1 = ['A', 'B']list2 = ['C', 'D']list3 = ['E','F','G']list4 = ['H', 'I']列表中的元素(A/B/C等),这里用的是string。实际情况中,也可以是int,或其他类型的instance...原创 2019-11-25 23:11:27 · 3977 阅读 · 3 评论 -
详解python3的新特性:函数注解(Function Annotations)与类型注解
文章目录引入函数注解变量注解静态类型检查模块mypy总结参考引入我们在阅读python3写的代码时,会看到类似如下的程序:def add(x: int, y: int) -> int: return x+y初步看上去,与python2相比,这个函数在定义上,多了3个int。前两个int表示输入数据的类型,"->"符号后面的int,表示返回值类型。在python中,是...原创 2019-10-18 22:56:43 · 15381 阅读 · 5 评论 -
详解多分类模型的Micro-F1/Precision/Recall计算过程
引入关于准确率(accuracy)、精度(precision)、查全率(recall)、F1的计算过程,之前写过一篇文章[1]。根据文章[1]中的公式,我们可以知道,精度(precision)、查全率(recall)、F1的计算,是针对于二分类器来说的。他们的计算,只与y_true/y_pred有关,也要求y_true/y_pred中,只含有0和1两个数。对二分类模型来说,可以直接调用skl...原创 2019-08-01 20:19:51 · 13515 阅读 · 3 评论 -
MongoDB从零安装到SHELL管理到远程连接配置与编程访问
引入本文主要讲下面几点:在CentOS下安装mongo的过程安装完成后,本地访问mongo以及在mongo shell下基础的mongo管理命令无法远程访问mongo的解决方法本文环境CentOS Linux 7 (Core)MongoDB 4.2远程连接:Windows 10, 远程GUI工具 studio3T1. CentOS下安装MongoDB的步骤m...原创 2019-08-18 21:11:15 · 1216 阅读 · 0 评论 -
如何求两个序列的相似度
两个字符串/数组(不等长)的距离,怎么算?原创 2017-08-08 23:11:43 · 27942 阅读 · 3 评论 -
Django的CSRF保护引起的403 FORBIDDEN
用Django写了一个API,专门处理客户端发来的POST请求。结果每一次客户端JS发送POST请求,都得到403的Error。Google搜“django 403 forbidden ajax post”,在神奇的stackoverflow上发现了答案 。 原来是Django的CSRF保护机制导致的。CSRFCSRF是跨站点请求伪造,简单来说就是用户在访问受信任网站后,浏览器记录了受信任网站的co原创 2015-09-03 19:19:03 · 14341 阅读 · 0 评论