自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jnchin的博客

吃我咸鱼突刺

  • 博客(52)
  • 问答 (2)
  • 收藏
  • 关注

原创 VSCode个人设置习惯

点击左下角齿轮或者用户头像–>Turn on Settings Sync–>全选–>Sign in &Turn on。可以同步配置、快捷键、插件、用户代码片段、UI状态。

2023-09-28 09:30:52 757

原创 通过conda创建纯净Python环境

如果不确定自己python版本和pip版本的下载地址和对应版本,可以直接在命令行输入conda create -n test python=3.10,不要摁回车,摁Ctrl-C退出。查看conda列出的包名,然后在https://repo.anaconda.com/pkgs/上找到对应的包,右键复制下载地址即可。

2023-09-18 10:01:56 888

原创 【python】使用docx获取word文档的标题等级、大纲等级和编号等级

3、源码中的<w:outlineLvl w:val=“2”/>就表示这是个3级大纲(因为是从0开始)。2、然后我们再获取每个段落的xml源码,即:xml = paragraph._p.xml。1、docx.Document()读取文档后会按照文章段落划分成一段一段的。4、接下来就好办了,就用字符串匹配把这个值提取出来就行了。原理和代码同上,只需要把。

2023-09-12 10:40:15 2780

原创 【python】linux系统下doc转docx文件

1、需要用到库。2、然后使用python的subprocess执行转化命令。

2023-09-12 09:32:43 882

原创 【Python】获取目录下所有文件,但不包括部分文件或子目录下的文件

【Python】获取目录下所有文件,但不包括部分文件或子目录下的文件

2023-08-16 10:54:40 860

原创 使用zarr处理训练大型数据集

Zarr是一种存储分组、压缩的N维数组的格式。zarr官方教程:https://zarr.readthedocs.io/en/stable/tutorial.html对于处理大型数据集,np.array往往是力不从心的,因此需要使用磁盘到内存映射的技术(如memmap、zarr等)。对于一整个较大的.npy或.dat文件,可以直接使用np.memmap读取。而对于大量文件的情况下(如38万个1M小文件),想全部读入内存,并且生成一个array数组,建议使用zarr。速度比较对于适应内

2022-01-20 12:01:09 2219

原创 google云盘批量删除文件

之前不小心把3万条数据全部解压到了个目录下,已经爆满。但是官方没有提供全部删除功能和批量删除功能,只能使用一些特殊方式来快速批量删除了。方法一:使用colab运行python脚本1、新建一个ipynb2、挂载谷歌云盘把下面代码粘贴到下图中所示位置,然后运行即可。注意:colab要获取你云盘的权限,直接无脑全部勾选就行。from google.colab import drivedrive.mount('/content/drive')3、运行删除脚本将下面的代码粘贴到下图所示位

2022-01-17 00:07:38 3330 4

原创 正确简单地安装Tensorflow和Keras

安装前注意:这里只讨论tensorflow和keras的安装,如果你的电脑不支持CUDA、没有CUDA Toolkit、没有cuDNN这些基本的深度学习运算环境,那这篇文章可以关闭了。安装tensorflow和keras不要直接复制官网的任何命令,因为大部分情况下都会装错。安装一定要注意自己的cuda、python等环境的版本要对应,然后手动编写安装命令,不然全都错。tensorflow官网:https://www.tensorflow.orgkeras官网:https://ke

2021-12-26 16:45:44 21598

原创 【pandas警告】SettingwithCopyWarning出现的原因和解决方案

问题操作 DataFrame 的时候有时会报SettingwithCopyWarning的警告,如下图:然后吧,你按着他的提示,尝试改用.loc,结果还是没卵用。最后由于懒得检查,索性直接关闭所有警告信息:import warningswarnings.filterwarnings("ignore")警告虽不是错误,但直接关闭警告肯定是不对。警告的作用就是告诉你虽然代码语法正确,但也会出现潜在的错误或问题。原因导致这条告警产生的原因,是由于pandas无法判断对原始DataFrame进行切

2021-11-24 11:34:42 2924

原创 Python创建增量目录

需求很简单比如我在做机器学习实验的时候,实验结果的保存路径是'runs/exp'。这样就会出现一个问题:当我第二次运行程序的时候,如果我忘记更改代码中的路径名或者清除上次实验结果,这次的实验结果会和上次实验结果混在一起,很头疼。所以我希望在下次实验的时候代码自动创建一个新的目录,来保存新的实验结果。代码粘贴复制,直接照着下面用就行。下面的函数是我从yolo5里复制过来的,代码质量很高,鲁棒性很高,可以放心使用。from pathlib import Pathimport reimpor

2021-11-23 17:25:23 3103 1

原创 【Pytorch】FM推导及其实现

因子分解机(Factorization Machine, FM, 2010年)是由Steffen Rendle提出的一种基于矩阵分解的机器学习算法。最大的特点是易于整合交叉特征、可以处理高度稀疏数据,主要应用在推荐系统及广告CTR预估等领域。数理推导FM的原始的模型方程为:y^(x):=w0+∑i=1nwixi+∑i=1n∑j=i+1n⟨vi,vj⟩xixj\hat{y}(x):=w_0+\sum^n_{i=1}w_ix_i+\sum^n_{i=1}\sum^n_{j=i+1}\left \lang

2021-11-15 16:52:30 3855 1

原创 【Pytorch】Tensorboard用法:标量曲线图、直方图、模型结构图

在机器学习中,我们一般需要记录模型训练的评估指标、参数等等。TensorBoard就是一个功能极为强大的机器学习实时检测并可视化的工具。它可以实时跟踪并可视化loss、acc等标量,可以使用直方图、分布图来展示权重和梯度分布的变化,也可以展示出模型的架构图,还可以将将嵌入向量投影到较低维度的空间从而可视化等等。起源TensorBoard最早是TensorFlow 的可视化工具包。早期PyTorch是不支持Tensorboard的,于是lanpa大佬就开发了一个完全支持PyTorch的Tensorboar

2021-11-03 12:40:07 9230

原创 【Pytorch】prototypical network原型网络小样本图像分类简述及其实现

基本概念小样本学习(Few-Shot Learning, FSL),顾名思义,就是能够仅通过一个或几个示例就快速建立对新概念的认知能力。这对于人类来说很简单,比如一个警察完全可以单凭一张照片就能在茫茫人海中认出犯罪嫌疑人。实现小样本学习的方式也有很多,比如:度量学习、数据增强、预训练模型、元学习等等。元学习(meta learning或learning to learn),对于一族待解决的多个任务,一个算法“如果随着经验和任务数量的增长,在每个任务上的表现得到改进”,则认为该算法能够学习如何学习,我

2021-10-04 11:11:01 10001 5

原创 【炼丹笔记】如何看loss调参

看loss调参train loss与test loss结果分析train loss 不断下降,test loss不断下降,说明网络仍在学习;train loss 不断下降,test loss趋于不变,说明网络过拟合;train loss 趋于不变,test loss不断下降,说明数据集100%有问题;train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;train loss 不断上升,test loss不断上升,说明网络结构设计不当,

2021-09-27 10:38:52 2118

原创 如何计算一个神经网络模型的时间复杂度

在计算机中,加法运算比乘法运算快很多,所以在估计计算量的时候我们主要计算要做多少次乘法。在神经网络中,主要的运算是矩阵乘法。矩阵乘法的计算量是这样计算的:一个的矩阵乘以一个 的矩阵要做 次乘法,所以 就是两个矩阵相乘的计算量了。如果 足够大,则其复杂度为。这就是我们计算神经网络复杂度的依据。【举个例子】计算某两层网络的复杂度?假设矩阵是 的,是 的,是 的。所以第一层是 的矩阵乘以 的矩阵,得到一个 的矩阵,计算量为 ;第二层就是 ...

2021-08-17 11:26:09 3471 2

原创 使用pandas对时间序列数据进行等距重采样处理

我们的目标是将原始数据处理成每隔30秒一个数据样本,且每个30秒内使用均值计算,如下图所示:代码:import pandas as pd# 转化为时间戳格式df.loc[:, 'datetime'] = pd.to_datetime(df.loc[:, 'datetime'])# 按时间排序df = df.sort_values(by='datetime')# 将‘time’列转化为索引df = df.set_index('datetime')# >>> 关键

2021-04-13 21:10:10 3494

原创 Python的函数参数按值还是按引用传递参数?

详情见官方文档:http://www.runoob.com/python/python-functions.html这里说一个我碰到的例子:def tst(a): a.append([1,2,3]) print('函数tst中的列表a是:',a) passx = ['q','w','e']tst(x)print('函数tst外的列表x是:',x)输出:函数tst中的列表a是: ['q', 'w', 'e', [1, 2, 3]]函数tst外的列表x是: ['q'

2021-03-14 12:35:04 187

原创 【炼丹笔记】调参方法总结

参考:https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.24.1cd8593aLNK3uJ&postId=95460目前调参方案有:贪心调参参考:https://blog.csdn.net/m0_37893230/article/details/104449166网格调参随即搜索调参贝叶斯调参参考:https://zhuanlan.zhihu.com/p/54030031时间紧,改天再整理完善

2021-03-14 12:24:27 2311

原创 【leetcode报错】AddressSanitizer: heap-buffer-overflow on address 0x6020000000a0 at pc 0x00000034b4d9 bp

原题是力扣第一道题【两数之和】初始代码:class Solution {public: vector<int> twoSum(vector<int> &nums, int target) { vector<int> vec; for (int i = 0; i < sizeof(nums)-1; i++) //改成nums.size()就不会报错了 { for

2021-02-26 09:43:16 1433

原创 python提取字符串中所有的实数

import rea = "23rfgg3.4王0.55发-5.498 s62.36逼0.000-0.6+6"# 提取所有的实数b = re.findall(r"-?\d+\.?\d*e??\d*?", a)print(b)运行结果:['23', '3.4', '0.55', '-5.498', '62.36', '0.000', '-0.6', '6']其他正则提取:# 提取所有的汉字d = re.findall('[\u4E00-\u9FA5\\s]', ...

2020-12-25 10:49:57 1121

原创 itertools中的groupby()的原理及其骚操作

原理导包:from itertools import groupby其实groupby就是对可迭代对象的批量操作,可迭代对象就是像list、dict、迭代器等这种可以用for循环遍历的数据结构或者对象。groupby()的作用就是把可迭代对象中相邻的重复元素挑出来放一起,举个例子:for key, group in groupby('AAABBBCCAAA'): print(key, list(group))输出:A ['A', 'A', 'A']B ['B',

2020-12-23 21:15:59 11059 3

原创 PyTorch使用Dataset和DataLoader加载数据集

在PyTorch里优化器都是小批量小批量地优化训练的,即每次都会从原数据集中取出一小批量进行训练,完成一次权重更新后,再从原数据集中取下一个小批量数据,然后再训练再更新。。。比如最常用的小批量随机梯度下降(Mini-Batch Gradient Descent,MBGD)。毕竟原数据集往往很大,不可能一次性的全部载入内存,只能一小批一小批地载入内存。训练完了就扔了,再加载下一小批。如何实现批量地加载数据集?在PyTorch的torch.utils.data包中定义了两个类Dataset和DataL

2020-11-08 16:02:18 10455 1

原创 理解感知机从原始形式到对偶形式是一种怎样的思想

感知机原理这篇博客写的很棒:https://www.cnblogs.com/huangyc/p/9706575.html读完《统计学习方法》和这篇博客后,作为入门者来说,我脑袋里有两大疑惑:一个是感知机地收敛定理证明,这个没看懂,不过这个也不影响我继续阅读。另一个就是对偶了,对偶是个啥东西?为什么要用对偶形式?对偶是什么?对偶思想是一种怎样的思想?“对偶”是一种怎样的思想在知乎上我找到了一个通俗易懂的回答:我觉得就是转化,这个问题的最小化不好求,那么就转化为另一个问题的最大化(这两个问题存在某

2020-10-21 10:11:59 188

原创 win10电脑网络连接图标变成地球图标解决办法汇总

华硕笔记本,飞行堡垒FX705GM_FX86SM;系统,出厂默认系统,win10家庭中文版;无线网卡,英特尔 Wireless-AC 9560。先吐槽我这这破电脑的毛病:自打买回来,哪里都好,就是上网一直有毛病,动不动网太卡,同一个局域网,别人的就很快,我的就很慢;有时候动不动就连不上网,尤其是在安装或者卸载一个软件后,经常右下角的无线网络连接图标变成地球图标,凡是沾点网络的软件和程序都打不开,比如浏览器,适配器右键属性也打不开,有时任务栏上所有图标都点不开,甚至windows菜单键也点不开

2020-09-25 18:34:14 30589

原创 反向传播求偏导原理简单理解

神经网络中用反向传播求偏导数的思想就相当于复合函数求偏导。从头说起,在学生时代我们要求下面式子中,函数e(a,b)e(a,b)e(a,b)对a和b的偏导数:e=(a+b)∗(b+1)e=(a+b)*(b+1)e=(a+b)∗(b+1)∂e∂a=?\frac{\partial e}{\partial a}=?∂a∂e​=?∂e∂b=?\frac{\partial e}{\partial b}=?∂b∂e​=?传统的求偏导方法就是用解析式直接求偏导即可。但如果随着函数复合的层数增多,对应的就是神经

2020-09-23 10:29:30 3872 2

原创 K-means算法简单理解

参考《吴恩达机器学习》要解释K-means算法,用图像说明再合适不过了。假设有这么一个无标签数据集,我想将它分成两簇:现在开始执行K-means算法,具体操作如下:第一步,随机生成两点,这两个点就叫做聚类中心即:下图中红色蓝色两个叉叉第二步,进入内循环K-means是一个迭代算法,它每次迭代都会做两件事,一是簇分配,二是移动聚类中心。听不懂没关系,看下面的图就懂了。第一小步,进行簇分配即:遍历每个样本点,看看它是离着红色聚类中心近还是离着蓝的近,若离着红的近就把它归到红色簇中去,

2020-09-15 19:19:25 1192

原创 使用conda安装包时明明换了国内镜像源,安装还是太慢?甚至压根安不上?

装得慢之前安装camelot的时候直接照着文档复制了命令,结果安装速度出奇的慢,anaconda明明已经换成国内镜像源了啊。细看了下命令才发现多加了个-c conda-forge。-c后面的参数就是下载通道的地址,也可以直接换成国内镜像源地址-c 下载通道名 就全等于 --channel 下载通道名装不上但有时候又会出现根本装不上的错误PackagesNotFoundError: The following packages are not available from current c

2020-08-31 19:48:53 4514

原创 Python环境使用的一些个人习惯

仅限个人使用

2020-08-18 10:53:14 367

原创 PyTorch环境搭建及踩过的坑

以下过程仅限windows1、安装总体上的PyTorch安装我是参考的这篇博客:https://www.cnblogs.com/zhouzhiyao/p/11784055.html【踩坑一】官网上没有和我的cuda匹配的版本。网上搜了一下也没有解决这个问题,索性就用10.2吧,以后搞清楚了在这里把坑补上。【踩坑二】pytorch慢到无法安装这里我参考了 https://blog.csdn.net/xo3ylAF9kGs/article/details/104104041/注意点1:这几个

2020-07-16 09:43:14 1682 1

原创 写一个ieee的论文爬虫

爬取的内容很简单,就是抓取当前期刊页中所有的论文,如红框所示,初始url就是像https://ieeexplore.ieee.org/xpl/conhome/8961330/proceeding 这样子的。1、研究下网站结构emm,还在加载。很明显,下面的数据都是异步加载的。F12 ->Network->F5,复制个论文标题关键词全局搜索一下,即可找到对应的文件,我们想要的东西就应该在这个“toc”里了。哈哈,论文下载链接啥的果然都在这。任务很明确了,就抓这个json文件就行了

2020-07-14 14:13:20 2817 2

原创 pyplot输出的绘图界面出现中文乱码的解决方案

网上找了很多办法,在此总结一下比较好用的解决方案。【常用】方法一:rcParams优点是用法简洁,但污染全局字体设置。import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一 替换sans-serif字体plt.rcParams['axes.unicode_minus'] = False # 步骤二 解决坐标轴负数的负号显示问题plt.xlabel("x轴")plt.ylab

2020-07-10 18:03:09 1659 1

原创 Ubuntu图形界面与字符界面切换

在VMware里用Linux系统的时候,图形桌面不常用,而且感觉还经常卡顿。卡顿是因为图形桌面占用的资源非常的多的,启动速度也比较慢。所以可以将图形化界面关闭。网上最简单的做法是:当前图形界面时,按Ctrl+Alt+F1切换到字符界面;当前字符界面时,按Ctrl+Alt+F7切换到图形界面;但这样下次重启时还是默认回到图形界面。所以需要改一下默认启动的设置:如果想开机默认进入命令行模式:输入命令:sudo systemctl set-default multi-user.target然

2020-07-08 20:40:03 8118

原创 在特定时间段内禁止掉特定的程序(仅Windows)

之前舍友老王老打游戏老影响我学习,于是给他电脑植入了一vbs脚本,效果蛮不错的,就是容易被打。今天有个家长想要这东西,那我就在这贴出来吧。目录制作禁止程序的脚本(主体):vbs脚本制作植入脚本使用方法解除方法制作禁止程序的脚本(主体):vbs脚本Dim startTime,endTime,sleepTime,systemTime,limitProgramslimitPrograms = ...

2020-03-22 19:57:39 3508 2

原创 给崩坏三桌面版的启动窗口加个启动音效

原理使用vbs脚本,监控电脑所有的进程,一旦出现崩坏三桌面版的启动窗口进程就播放一次音效。vbs脚本制作过程第一步:准备好你想要播放的音乐或音效,如下。第二步:在桌面上创建一个txt文本,文件名起啥都行,用记事本打开它,将如下代码复制进去,把倒数第四行代码修改一下,路径改成你要播放的音乐的路径。最后保存并关掉记事本,把此文件的后缀名改成.vbs,注意不要把文件后缀名隐藏起来(如何把后文件...

2019-09-25 17:27:16 1166

原创 Octave常用操作(三)

目录if条件语句for循环while循环Octave中的函数定义一个函数调用一个函数定义一个多返回值的函数修改Octave的搜索路径if条件语句>>i = 1;>> if i == 1, disp('i is 1');elseif i == 2, %else if 语句disp('i is 2');elsedisp('i is not 1 or 2');...

2019-04-09 20:12:57 1239

原创 Octave常用操作(二)

数据绘图>> t = [0:0.01:0.98]; %定义一组数据,从0到0.98,步长为0.01>> y1 = sin(2*pi*4*t); %定义一个正弦函数值的一组数据>> plot(t,y1); %以数据t为横轴,y1为纵轴绘制图形,运行结果如下,可以看出周期T=2π/ω=0.25:>>先不要关闭图像窗口,在命令行接着输入:...

2019-04-05 22:12:20 1418

原创 Octave常用操作(一)

基础语法% 注释1/0 真/假== 逻辑等于~= 逻辑不等于&& 逻辑与 || 逻辑或xor(1,0) 逻辑异或在交互式中PS1('>>'); 修改命令提示符【注意】键入a=3回车后下面会打印出a=3,如果不想让它打印就在语句后面加分号a=3;Octave中的变量a = pi; %pi表示圆周率,是个常量a ...

2019-04-05 10:54:07 2444

原创 Python瞎记

Python模块:重新载入模块:在Python2.X中,可以通过内置函数reload重新载入模块。reload可以在模块被修改的情况下不必关闭Python而重新载入模块。在使用reload重载入模块时,该模块必须事先已经被导入。 在Python3.X中,reload函数已经被删除,要重新再入模块,则必须使用imp模块中的reload函数(如:imp.reload(os) #重新载入os模块)。Py

2019-02-14 00:14:17 463

原创 使用markdown编辑器书写数学公式需要注意的问题

1、快速书写数学符号: 打开如下网址:http://latex.codecogs.com/eqneditor/editor.php,是一个在线LaTex公式编辑器,借助它可以方便的编辑数学符号。 2、数学公式中的空格

2018-03-14 17:47:48 960

原创 制作便携式U盘Python环境

学校实验室的电脑都会关机重启后自动恢复,所以每次在上面玩python都得重新配环境,很麻烦,所以我直接把python安装到了U盘,不过没考虑要解决系统类别和位数等问题,目前在win32上还是可以用的,凑合着用吧,反正明年就去不了实验室了,这玩意儿也就没啥用了。下面开搞:1、安装首先下载一个miniconda3 其实下载什么版本都无所谓,只是我觉得conda好用,而且minic

2018-01-09 15:53:41 13312 5

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除