python
文章平均质量分 61
日出2133
代码是写给人看的,而不是写给机器运行的。
展开
-
Supervisor
首先,介绍一下supervisor。Supervisor(http://supervisord.org)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制环境:centos7.4。原创 2022-11-14 17:15:34 · 1420 阅读 · 0 评论 -
分布式ID生成算法——雪花算法
雪花算法(Snowflake),是Twitter公司提出的一种分布式ID生成算法,是分布式ID问题的经典解决方案。此算法生成的是一个64bit(8字节)的ID,在Java中使用8字节的long来存放,在数据库推荐用bigint来存储。可以提前在机器ID或者序列号中留出拓展位置0,当出现时钟回拨时,将拓展位置1,这样也可以保证生成ID的唯一性。时钟回拨,就是服务器上的时间突然倒退回之前的时间,时钟回拨会导致ID不唯一的问题。有时候不同的机器上需要同步时间,可能不同的机器存在误差,也会出现时钟回拨。原创 2022-10-25 15:47:30 · 3141 阅读 · 0 评论 -
标签平滑(label smoothing) torch和tensorflow的实现
在常见的多分类问题中,先经过softmax处理后进行交叉熵计算,原理很简单可以将计算loss理解为,为了使得网络对测试集预测的概率分布和其真实分布接近,常用的做法是使用one-hot对真实标签进行编码,然后用预测概率去拟合one-hot的真实概率。但是这样会带来两个问题:无法保证模型的泛化能力,使网络过于自信会导致过拟合;全概率和0概率鼓励所属类别和其他类别之间的差距尽可能加大,而由梯度有界可知,这种情况很难adapt。会造成模型过于相信预测的类别。标签平滑可以缓解这个问题,可以有两个角度理解这件事原创 2022-05-17 16:14:27 · 1531 阅读 · 0 评论 -
python 处理table
# -*- coding: utf-8 -*-from collections import defaultdictdef table_to_list(table): dct = table_to_2d_dict(table) return list(iter_2d_dict(dct))def table_to_2d_dict(table): result = defaultdict(lambda : defaultdict(str)) for row_i, .原创 2022-05-06 17:16:16 · 1128 阅读 · 1 评论 -
torch系列之手写数字识别(实战)
识别准确率99%有问题留言。直接上代码:文件夹名称:MNIST_CNN_train文件:model_CNN.py文件:train.py文件:test.py原创 2021-12-02 18:38:56 · 1647 阅读 · 0 评论 -
simHash介绍及python实现
1、simHash简介simHash算法是GoogleMoses Charikear于2007年发布的一篇论文《Detecting Near-duplicates for web crawling》中提出的, 专门用来解决亿万级别的网页去重任务。simHash是局部敏感哈希(locality sensitve hash)的一种,主要思想是降维,将高维的特征向量映射成低维的特征向量,再通过比较两个特征向量的 汉明距离(Hamming Distance) 来确定文章之间的相似性。什么是局部敏感呢?假设原创 2021-11-17 09:31:19 · 620 阅读 · 0 评论 -
cdk随机生成
# coding=utf-8import randomseed = list("qwertyuiopasdfghjklzxcvbnm1234567890")print(seed)list_sum = []for i in range(200): l = [] for j in range(32): n1 = random.choice(seed) l.append(n1) if j == 7 or j == 11 or j == 1.原创 2021-10-27 10:56:55 · 1534 阅读 · 0 评论 -
base64加密原理详解
Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印字符来表示二进制数据的表示方法。它通常用作存储、传输一些二进制数据编码方法!也是MIME(多用途互联网邮件扩展,主要用作电子邮件标准)中一种可打印字符表示二进制数据的常见编码方法!它其实只是定义用可打印字符传输内容一种方法,并不会产生新的字符集! Base64编码原理: 它是用64个可打印字符表示二进制所有数据方法。由于2的6次方等于64,所以可以用每6个位元为一个单元,对应某个可打印字符。我们知道三个...转载 2021-10-25 15:10:48 · 2560 阅读 · 0 评论 -
js中常见的数据加密与解密的方法
加密在我们前端的开发中也是经常遇见的。本文只把我们常用的加密方法进行总结。不去纠结加密的具体实现方式(密码学,太庞大了)。常见的加密方式常见的加密算法基本分为这几类,线性散列算法(签名算法)MD5 SHA1 对称性加密算法 AES DES 非对称性加密算法 RSAMd5加密 MD5是一种被广泛使用的线性散列算法,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。 MD5加密之后产生的是一个固定长度(32位或16位)的数据转载 2021-10-25 14:25:55 · 5619 阅读 · 0 评论 -
两种正文抽取算法的分析
现在网上能搜到的正文抽取算法一般有两类:Readability:该算法先建立DOM树,然后对网页源代码中不同的HTML标签进行判断,逐渐找到正文所在标签位置。该算法的主要优点是可以最大程度的保存网页正文的缩进、空行以及链接。行块分布算法:主要是基于论文《基于行块分布函数的通用网页正文抽取》。该算法不需要建立DOM树,直接剔除HTML标签,剩下的网页文字之间会有一定的位置关系。下面说一下行快分布算法:先上代码# -*- coding: utf-8 -*- import reque.原创 2021-10-09 17:07:51 · 1155 阅读 · 2 评论 -
滑动滑块的反爬 整体思路
整体思路:1、查看js中的检测特征,检查什么,对什么进行修改; 如:cdc、window.navigator.webdriver、开发者模式等。 修改的途径包括exe源码、mitmproxy拦截2、翻页过多引发的滑块问题,涉及到风控;即使把window.navigator.webdriver(js检测特征之一)设置为"undefined"了,还是不能通过。这时候全局搜索一下js,如果网站js里面有一段代码,那很可能就是对selenium的webdriver进行验证的了:1、chrom转载 2021-10-09 09:48:29 · 487 阅读 · 0 评论 -
【python】python日期格式统一化
# -*- coding: utf-8 -*-"""Created on Tue Jan 8 18:02:03 2019@author: liuty@e-mail: liuty66@163.com@introduction: 解析时间模块"""str1=' 2019-01-08'str2='2019-1-8 00:00:00'str3='2019年1月8日'str4='2019年01月08日'str5='2019/1/8'str6='2019/0...转载 2021-09-27 08:37:12 · 745 阅读 · 0 评论 -
力扣 回文数
9. 回文数难度简单1585收藏分享切换为英文接收动态反馈给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是。示例 1:输入:x = 121输出:true示例2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = ...原创 2021-08-16 17:12:02 · 80 阅读 · 0 评论 -
python解码乱码
请看上图!~请看上图!~请看上图!~原创 2021-08-09 16:04:41 · 96 阅读 · 0 评论 -
Redis的持久化机制你学会了吗?
大家都知道Redis经常被使用在缓存的场景中,那有没有想过这么一个问题,一旦服务器宕机,内存中的数据全部丢失,我们该如何进行恢复呢?如果直接从后端数据库恢复,不仅会给数据库带来巨大的压力,还会使上层应用响应变慢。所以redis的持久化机制是很重要的。接下来我们一起来探讨一下Redis的持久化机制。目前Redis持久化主要有两大机制,即AOF(Append Only File)日志和RDB快照。接下来我们就来分别学习一下。AOF日志 AOF日志,即写后日志,它的含义是Redi...转载 2021-07-21 17:30:35 · 58 阅读 · 0 评论 -
Python requests post 提交form-data表单
import jsonparams = { 'timestamp':timestamp, 'nonce':nonce, 'apikey':APIKEY, 'signature': signature}data = { 'name':(None, name), 'phone': (None, str(phone)), 'idnum': (None, idnum), 'products': (None, json.dumps([201,]))...转载 2021-06-22 14:03:16 · 1482 阅读 · 0 评论 -
动态图解RNN、LSTM、GRU
作者 Michael Nguyen王小新 编译自 Towards Data Science量子位 出品 | 公众号 QbitAIAI识别你的语音、回答你的问题、帮你翻译外语,都离不开一种特殊的循环神经网络(RNN):长短期记忆网络(Long short-term memory,LSTM)。最近,国外有一份关于LSTM及其变种GRU(Gated Recurrent Unit)的图解教程非常火。教程先介绍了这两种网络的基础知识,然后解释了让LSTM和GRU具有良好性能的内在机制。当然,通..转载 2021-02-24 08:00:12 · 354 阅读 · 0 评论 -
聚类算法之LDA
因工作需要,对2000多篇文件进行聚类,由于文本长度较短,所以聚类效果不好,随着主题数量的增加,困惑度一直增加,并未出现困惑度减少的现象,让我一直怀疑自己的做法是否正确。后来通过对通过标题+文本的拼接,才出现较好的收敛;perplexity(困惑度)在对文本的主题特征进行研究时,要指定LDA生成的主题的数目,而一般的解决方法是使用perplexity来计算其中z是主题,w是...原创 2020-01-02 16:26:58 · 3254 阅读 · 0 评论 -
python 实用功能
# 词频统计word_counts = collections.Counter(object_list) # 对分词做词频统计word_counts_top = word_counts.most_common() # 可添加参数,获取前n最高频的词print(word_counts_top) # 输出检查word_list, count_list = list(), list()...原创 2019-12-27 09:10:19 · 130 阅读 · 0 评论 -
matpltlib python
1、指定字体,解决中文无法显示plt.rcParams['font.sans-serif'] = ['SimHei']# 子图和x轴旋转fig = plt.figure()ax1 = fig.add_subplot(2, 1, 1)ax2 = fig.add_subplot(2, 1, 2)# 添加标题ax1.set_title('情绪指数')ax2.set_title('...原创 2019-12-24 16:03:44 · 194 阅读 · 0 评论 -
多分类机器学习评价指标之准确率、精确率、召回率、F1值、ROC、AUC
准确率、精确率、召回率、F1值定义:准确率(Accuracy):正确分类的样本个数占总样本个数, A = (TP + TN) / N精确率(Precision):预测正确的正例数据占预测为正例数据的比例, P = TP / (TP + FP)召回率(Recall):预测为正确的正例数据占实际为正例数据的比例, R = TP / (TP + FN)F1 值(F1 score...原创 2019-12-04 19:00:17 · 19109 阅读 · 2 评论 -
python 金融数据的几种获取api
1、挖地兔,开源的时间比较早,现在也在维护,网站:https://tushare.pro/,现在实行积分制,如获取大盘指数每日指标,用户需要至少400积分才可以调取(快速获取积分,会费50元,可以调用大部分的api),也衍生出部分商业价值; 但也有之前的版本免费使用:http://www.waditu.cn/2、万德: 转一篇python关于万德的使用连接https://blog.csdn....原创 2019-11-11 09:34:21 · 1358 阅读 · 0 评论 -
机器学习 + flask 简单的模型上线
from sklearn.externals import joblibfrom flask import Flask,requestapp = Flask(__name__)@app.route('/')def hello_world(): return 'Hello World!'@app.route('/predict/<sen>')def predic...原创 2019-11-01 11:24:30 · 327 阅读 · 0 评论 -
机器学习之混淆矩阵的两种画法(实战)
混淆矩阵主要用于表示分类精度,利用横轴为预测结果,纵轴为标准结果的表格图,可视化地展示算法的分类性能。import seaborn as snssns.set()C2 = confusion_matrix(y_test, y_predict, labels=[0,1,2])# # 方法一# f, ax = plt.subplots()# print(C2) # 打印出来看看...原创 2019-11-01 09:51:58 · 5717 阅读 · 2 评论 -
深度学习 多分类roc曲线的绘制
对于多分类问题,ROC曲线的获取主要有两种方法:假设测试样本个数为m,类别个数为n。在训练完成后,计算出每个测试样本的在各类别下的概率或置信度,得到一个[m, n]形状的矩阵P,每一行表示一个测试样本在各类别下概率值(按类别标签排序)。相应地,将每个测试样本的标签转换为类似二进制的形式,每个位置用来标记是否属于对应的类别(也按标签排序,这样才和前面对应),由此也可以获得一个[m, n]的标签矩...转载 2019-10-30 09:14:26 · 8893 阅读 · 0 评论 -
深度学习中的embedding
转一篇链接,写的不错,通俗易懂https://blog.csdn.net/weixin_42078618/article/details/82999906转载 2019-10-29 14:37:57 · 229 阅读 · 0 评论 -
python 统计列表的相同元素的次数, 词频统计
有好几种方式,个人觉得,下面这个还是挺好用def list_count(num_list): return {x: num_list.count(x) for x in set(num_list)}原创 2019-10-29 14:10:10 · 1096 阅读 · 0 评论 -
pdf转txt的两种方法:
import osimport urllibimport importlib ,sysimportlib.reload(sys)from pdfminer.pdfparser import PDFParser, PDFDocumentfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreterfrom pd...原创 2019-10-28 16:21:53 · 366 阅读 · 0 评论 -
python windows 定时任务
之前都是在liunx上部署任务,现在换到windows部署python计划任务,期间遇到一些小问题,现在总结一下:1、运行结果(0x1) 程序或脚本:python.exe 添加参数: 可执行文件的绝对路径 起始于: python.exe的所在路径2、python文件内的引用和文件保存问题需要把文件的位置,添加到系统环境变量(1)添加当前文...原创 2019-09-12 17:34:23 · 455 阅读 · 0 评论 -
python 时间转换 指定字符串时间转时间戳
指定年月日时分秒的表达方式time.strftime("%Y-%m-%d %H:%M:%S")字符串转时间戳:tss1 = "2019-08-27"timeArray = time.strptime(tss1, "%Y-%m-%d") # 转为时间戳timeStamp = int(time.mktime(timeArray))第二天的指定时间的时间戳:...原创 2019-08-27 19:31:20 · 725 阅读 · 1 评论