- 博客(65)
- 资源 (1)
- 收藏
- 关注
原创 plotly 添加水平、竖直线和填充区域
添加水平、竖直线和填充区域import plotly.io as pioimport plotly.express as pximport plotly.graph_objects as goimport plotlyfrom plotly.subplots import make_subplotsimport pandas as pdimport numpy as np# 设置plotly默认主题pio.templates.default = 'plotly_white'# 设置p
2022-02-26 19:56:41
6323
2
原创 plotly 多坐标轴(multiple axes)设置
多坐标轴设置(multiple axes)import plotly.io as pioimport plotly.express as pximport plotly.graph_objects as gofrom plotly.subplots import make_subplotsimport pandas as pdimport numpy as np# 设置plotly默认主题pio.templates.default = 'plotly_white'# 设置pandas打
2022-02-26 13:18:47
4566
原创 plotly 图例(legend)设置
图例(legend)import plotly.io as pioimport plotly.express as pximport plotly.graph_objects as gofrom plotly.subplots import make_subplotsimport pandas as pdimport numpy as np# 设置plotly默认主题pio.templates.default = 'plotly_white'# 设置pandas打印时显示所有列pd.
2022-02-13 18:58:41
7666
原创 plotly 坐标轴(axes)设置
坐标轴设置 axesimport plotly.io as pioimport plotly.express as pximport plotly.graph_objects as gofrom plotly.subplots import make_subplotsimport pandas as pdimport numpy as np# 设置plotly默认主题pio.templates.default = 'plotly_white'# 设置pandas打印时显示所有列pd.
2022-02-13 18:56:02
23813
2
原创 plotly 添加标注(annotation)
添加标注 annotationimport plotly.io as pioimport plotly.express as pximport plotly.graph_objects as goimport pandas as pdimport numpy as np# 设置plotly默认主题pio.templates.default = 'plotly_white'# 设置pandas打印时显示所有列pd.set_option('display.max_columns', Non
2022-02-13 18:49:15
6395
1
原创 plotly 散点图、柱状图添加文本标记(text)
散点图、柱状图添加文本标记import plotly.io as pioimport plotly.express as pximport plotly.graph_objects as gofrom plotly.subplots import make_subplotsimport pandas as pdimport numpy as np# 设置plotly默认主题pio.templates.default = 'plotly_white'# 设置pandas打印时显示所有列
2022-02-13 18:44:00
6421
原创 plotly 绘制子图(subplots)
划分子图 subplotsimport plotly.io as pioimport plotly.express as pximport plotly.graph_objects as gofrom plotly.subplots import make_subplotsimport pandas as pdimport numpy as np# 设置plotly默认主题pio.templates.default = 'plotly_white'# 设置pandas打印时显示所有列
2022-02-13 18:41:33
9591
2
原创 plotly 改变标记(marker)和直线(line)的风格
标记(markers)和直线(lines)的风格import plotly.io as pioimport plotly.express as pximport plotly.graph_objects as gofrom plotly.subplots import make_subplotsimport pandas as pdimport numpy as np# 设置plotly默认主题pio.templates.default = 'plotly_white'# 设置pand
2022-02-13 18:35:40
7599
原创 plotly 绘制局部放大图
最终效果展示实现思路在绘图区域插入一个嵌入图,嵌入图与原图的绘画保持一致,通过限制嵌入图的x轴和y轴的显示范围,达到缩放的效果,并在原图上绘画一个矩形框,以凸显缩放的区域,最后通过两条直线凸显缩放关系。导入库import plotly.io as pioimport plotly.graph_objects as goimport pandas as pdimport numpy as np# 设置plotly默认主题,白色主题pio.templates.default = 'plot
2022-02-12 12:04:46
2811
原创 NMS 非极大值抑制原理及实现
非极大值抑制(Non-Maximum Suppression)在物体检测领域中,最后预测的结果一般有很多,其中会有一部分预测框重叠在一起。NMS的操作就是去除重叠的预测框,一般是物体检测任务中检测的最后一步处理操作。如上图所示,可以看到图片中共有两个狗和一个猫,但是根据模型预测一共有3个狗和2个猫。并且我们人类可以很直观地发现有几个框重复预测同一个物体,那么该如何使用算法让计算机去除掉重复的框呢?NMS过程解析假设我们已经有了预测的框,每个预测框对应的类别,每个预测框对应的类别得分。第一步,
2022-01-15 16:52:33
1015
转载 PIL.Image 与 base64 互相转换
PIL.Image 转为 base64from io import BytesIOimport base64from PIL import Imagedef image_to_base64(image: Image.Image, fmt='png') -> bytes: output_buffer = BytesIO() image.save(output_buffer, format=fmt) byte_data = output_buffer.getvalue(
2021-12-23 00:03:37
4819
原创 IOU(Jaccard系数)概念及实现
Jaccard Index(IoU,重叠程度) Jaccard Index(Jaccard 系数) 或称作 Jaccard Overlap(Jaccard重叠) 或称作 Intersection-over-Union(IoU,交并比),测量了两个框的重叠程度,这个指标可以反映预测框与真实框的接近程度,在计算loss和进行NMS(非极大抑制)时会用到。如下图所示。 显然,Jaccard系数的取值在 [0,1][0, 1][0,1] 之间,取值为0时,说明两个框的交集为0,也就是两个框没有重叠;取值为
2021-10-06 22:47:52
6176
原创 Pytorch—保存检查点代码
class ModelCheckpoint(object): def __init__(self, filepath: str = 'checkpoint.pth', monitor: str = 'val_loss', mode: str = 'min', save_best_only: bool = False, save_freq: int = 1): """ :param filepath: 文件名或文件夹名,需要保存的位置,
2021-09-07 14:24:27
680
1
原创 Pytorch—提前终止代码
前言以前使用keras的时候有一个很方便的提前终止类,而pytorch每次都要自己写一次,因此我整理了一个简单通用的代码,需要提前终止功能时,只需cv一下,避免了每次重复写的麻烦。代码class EarlyStopping(object): def __init__(self, monitor: str = 'val_loss', mode: str = 'min', patience: int = 1): """ :param monitor: 要监测的指标,
2021-09-06 14:39:05
3709
1
原创 Python—argparse模块
文章目录介绍传入一个位置参数为单个参数传入多个值添加多个参数可选参数短选项默认值必须参数限定参数的值更改 parse_args 中的参数名称介绍最近在看深度学习的一些代码,发现大佬们经常使用argparse包,于是看了看这个包的简单用法。argparse是Python的内置包,不需要手动安装。它是Python 标准库中推荐的命令行解析模块。传入一个位置参数import argparseparser = argparse.ArgumentParser()parser.add_argument
2021-09-03 22:44:02
1236
原创 Pytorch—万字入门SSD物体检测
文章目录前言概念综述Bounding box(边界框)Boundary coordinates(边界坐标)Center-Size coordinates(中心坐标)两种坐标系统的转换Jaccard Index(IoU,重叠程度)MultiboxSingle Shot Detector (SSD)Base convolutions(基础卷积)Auxiliary convolutions(辅助卷积)Prediction convolutions(预测卷积)前言 由于初入物体检测领域,我在学习SSD模
2021-08-14 16:25:52
3173
1
原创 Pytorch—可视化特征
文章目录准备可视化中间特征层导入所需的库加载训练好模型加载一张图片定义钩子函数可视化浅层特征可视化深层特征可视化图像的类激活热力图重新定义一个新的模型定义获取热力图函数在原图上显示热力图尝试其他的图片准备本次使用的数据集依旧是猫和狗,并且用到了上次训练好的模型,详见:https://blog.youkuaiyun.com/weixin_45826022/article/details/118662581本次代码在notebook上实现。可视化中间特征层为了了解模型是如何进行分类的,我们可以对模型中的卷积层
2021-07-16 23:34:28
13278
29
原创 Pytorch—如何保存训练好的模型
Pytorch 保存和加载训练好的模型保存整个模型torch.save(model,'model.pkl')加载模型(不需要再次定义模型架构)model = torch.load('model.pkl')只保存参数torch.save(model.state_dict(),'model_param.pkl')加载参数(必须保持模型架构不变)# 加载参数model_param = torch.load('model_param.pkl')# 为模型设置参数model
2021-07-08 23:53:15
2527
1
原创 Pytorch—如何进行网络参数初始化
Pytorch网络参数初始化的方法常用的参数初始化方法方法(均省略前缀 torch.nn.init.)功能uniform_(tensor, a=0.0, b=1.0)从均匀分布 U(a,b) 中生成值,填充输入的张量normal_(tensor, mean=0.0, std=1.0)从给定均值 mean 和标准差 std 的正态分布中生成值,填充输入的张量constant_(tensor, val)用 val 的值填充输入的张量ones_(tensor)
2021-07-08 23:27:32
9587
7
原创 Kaggle入门赛手写数字识别—Tensorflow2
文章目录前置数据准备加载数据数据处理数据划分前置比赛地址:Digit Recognizer我的笔记本:Digit Recognizer Accuracy 99.3%这个比赛是图像分类的入门赛,数据集为著名的MNIST手写数字集,我们可以使用机器学习算法(例如SVM、KNN等)进行数字分类,也可以使用深度学习方法。这里我们将使用Tensorflow2从零开始训练一个卷积神经网络。首先进入比赛首页,点击 Rules按钮,然后点击 I Understand and Accept 按钮即可参加该比赛。只
2021-04-08 22:15:32
557
1
原创 Python 绘制局部放大图
请务必先看此文章: 【Python】Matplotlib局部放大图画法这篇文章已经非常详细,但是没有数据,所以自己生成了一些数据,以及对部分代码进行了函数封装,以便于二次使用。import matplotlib.pyplot as pltfrom matplotlib.patches import ConnectionPatchimport numpy as npdef zone_and_linked(ax,axins,zone_left,zone_right,x,y,linked='bott
2021-01-31 22:44:29
17783
14
原创 我的算法不可能这么简单—ST表
文章目录稀疏表题目ST表实现稀疏表稀疏表 (sparse table)又称 ST表它可以在 O(nlog2n)O(nlog_2 n)O(nlog2n)内预处理,O(1)内查询: 1. 区间最大值 2. 区间最小值 3. 区间最大公约数 4. 区间最小公倍数ST表为离线算法,因此区间给定后,不能进行修改,否则整张表将要重新计算,时间复杂度会变得非常高。对于带有修改的操作可以使用线段树或树状数组。ST表依旧被广为使用的原因是其优秀的时间复杂度,以及码量少。
2020-12-03 12:11:38
509
1
原创 我的算法不可能这么简单—单调队列
文章目录题目暴力做法单调队列代码题目这里以洛谷的 P1886 滑动窗口 /【模板】单调队列 为例暴力做法读完题目后我们立马就能想到暴力的方法,每次循环 [i , i+k-1] (i>=1)这个区间,找到区间内的最小值和最大值。而且代码非常容易写出。暴力代码:#include <bits/stdc++.h>using namespace std;#define int long longconst int maxn = 1e6+9;int n,k;i
2020-11-16 22:23:30
1738
原创 爬取有道翻译
文章目录踩点分析data参数破解js加密代码实现总代码踩点进入网站:http://fanyi.youdao.com/老样子,一看就是ajax加载,按F12检查元素,点击network选项,筛选xhr文件输入一个翻译文字,得到一个包,点击看一看,是一个post请求,向下滑,看看参数往下看看请求数据,发现确实是我们要翻译的文字,那么将这个url保存下来,http://fanyi.youdao.com/translate_o?smartresult=dict&smartre
2020-11-12 23:06:22
2035
原创 爬取pixiv每日推荐
文章目录踩点爬取单张图片获取日推所有图片网址下载所有图片总代码(撒花)踩点网站链接(需要魔法!):https://www.pixiv.net/ranking.php?mode=daily&content=illust进入网站我们一直往下拉,发现它是动态加载的。一直往下滑,发现只能加载 500 个图片,说明每日推荐一天500张,好家伙爬取单张图片我们先点击一张图片进去发现图片可以放大那我们肯定是要获取像素高的图片了按F12查看一下网页我们发现这个网址
2020-11-10 08:57:22
11453
9
原创 爬取必应翻译
文章目录踩点代码一点小探索更好的代码踩点首先进入网站 https://cn.bing.com/translator/很简约的一个网站,老样子,我们首先按F12,进入network,筛选xhr我们蹲到了一个post请求 https://cn.bing.com/ttranslatev3?isVertical=1&&IG=25FEE7A7C7C14533BBFD66AC5125C49E&IID=translator.5025.1看一下参数震惊!居然没有会变
2020-11-07 20:29:25
3886
3
原创 爬取百度翻译
文章目录踩点定位请求URL寻找加密参数破解加密参数代码踩点首先进入网站 https://fanyi.baidu.com/?aldtype=16047#zh/en/随便输入目标:在程序里输入直接返回翻译结果定位请求URL由于网页未刷新,便可以更新网页内容,判断其为Ajax加载,按下F12,进入network选项,筛选XHR刷新网页我们发现有一个东西很可疑,可以看到它是一个post请求,往下滑,看一下请求数据我们在data里面看到了输入的翻译文字,那肯定就是
2020-11-07 15:46:42
6934
9
原创 我的算法不可能这么简单—矩阵快速幂|取模
文章目录学前准备矩阵乘法矩阵快速幂例题洛谷P1962 [斐波那契数列](https://www.luogu.com.cn/problem/P1962)洛谷P1939 [【模板】矩阵加速(数列)](https://www.luogu.com.cn/problem/P1939)洛谷P1306 [斐波那契公约数](https://www.luogu.com.cn/problem/P1306)学前准备学习本算法前,请务必确保已经掌握 快速幂 | 快速幂取模 内容!请先AC本题:洛谷P1226 【模板】快速幂
2020-11-05 13:00:28
2547
原创 矩阵快速幂
//快读inline ll read(){ ll X=0; bool flag=1; char ch=getchar(); while(ch<'0'||ch>'9') {if(ch=='-') flag=0; ch=getchar();} while(ch>='0'&&ch<='9') {X=(X<<1)+(X<<3)+ch-'0'; ch=getchar();} if(flag) return X;
2020-11-03 15:47:10
1702
原创 爬取起点小说月票榜
首先查看一下信息,按F12点击选择按钮,定位一下小说标题位置:然后我们发现所有信息都在这里面,说明这是一个简单的静态网页headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36'}response = requests.get('https://www.qi.
2020-10-31 12:46:43
6251
6
原创 我的算法不可能这么简单—珂朵莉树
珂朵莉是世界上最幸福的女孩下面进入正题下面进入正题起源珂朵莉树原名老司机树(Old Driver Tree,ODT),由2017年一场CF比赛中提出的数据结构,因为题目背景主角是《末日时在做什么?有没有空?可以来拯救吗?》的主角珂朵莉,因此该数据结构被称为珂朵莉树。题目简述(原题请转->CF896C Willem, Chtholly and Seniorious)请你写一种奇怪的数据结构,支持:1 l r x :将 [l,r] 区间所有数加上 x2 l r x :将 [
2020-10-27 18:48:51
8560
原创 并查集
const int maxn = 10004;const int maxm = 200005;int s[maxn],height[maxn];//树的高度//初始化void init_set(){ for(int i=1;i<=maxn;i++){ s[i] = i; height[i] = 0; }}//查询/*int find_set(int x){ return x==s[x]?x:find_set(s[x]);}*
2020-10-26 23:24:58
1668
原创 Floyd求无向图最小环
//快读inline int read(){ int X=0; bool flag=1; char ch=getchar(); while(ch<'0'||ch>'9') {if(ch=='-') flag=0; ch=getchar();} while(ch>='0'&&ch<='9') {X=(X<<1)+(X<<3)+ch-'0'; ch=getchar();} if(flag) return X; .
2020-10-26 23:24:52
1753
原创 Kruskal最小生成树
#include <bits/stdc++.h>using namespace std;#define maxn 1000int n,m;struct edge{ int u,v,w;}e[maxn];bool cmp(edge a,edge b){ return a.w<b.w;}int ans;//并查集int s[maxn];int find_set(int x){return x==s[x]?x:s[x]=find_set(s[x])
2020-10-26 23:24:36
1694
原创 邻接表
const int MAX[200001]; struct node{ int from,to,w; node(int f,int t,int d){ from = f; to = t; w = d;}};vector<node> edge[MAX];//初始化for(int i=0;i<MAX;i++) edge[i].clear();//存边edge[u].push_back(node(u,v,w));//遍历结点u连接的所有边for(int i=0;i&
2020-10-12 21:53:04
1667
原创 链式前向星
const int SIZE = 1000001;int head[SIZE],cnt;//head数组记录头结点,head[u]为u连接的第一个点在edge中存放的下标;cnt为edge计数,无实际意义struct EDGE{ int to,next,w;//to为与该点连通的点,next为下一个点}edge[SIZE];//初始化前向星,多组数据输入才使用,单组数据不用!/*void init(){ for(int i=0;i<MAX;++i){ edge[i].to =
2020-10-12 21:52:33
1671
原创 Dijkstra+优先队列+链式前向星
const ll inf_ll = 9223372036854775807;const int MAX = 200005;struct EDGE{ int to,next,w;}edge[MAX];int head[MAX],cnt;//初始化前向星,多组数据输入才使用,单组数据不用!/*void init(){ for(int i=0;i<MAX;++i){ edge[i].to = 0; edge[i].w = 0; edge[i].next = 0; head
2020-10-12 21:51:48
1733
Qt实现仿QQ截图,带绘图,撤回功能!.zip
2020-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人