- 博客(424)
- 收藏
- 关注

原创 学习笔记目录
文章目录⌨️ 编程基础编程语言工具使用🖥️ 人工智能机器学习书籍/仓库经典算法评估指标深度学习书籍/仓库模型/数据 加工优化方法⌨️ 编程基础编程语言go语言学习笔记工具使用git使用笔记🖥️ 人工智能机器学习书籍/仓库机器学习 资料 - 张北海经典算法Bagging和Boosting 概念及区别随机森林 – Random forest(Bagging方法)XGBoost的原理、公式推导、Python实现和应用评估指标多分类下的ROC曲线和AUC一文搞懂交叉
2023-11-28 19:57:08
843
原创 【golang】go errors 处理错误追踪打印堆栈信息
使用原生go语言编程时,常常需要处理错误,然而golang中没有像java/python等其他语言的try-catch方式一样的方式来处理异常事件,只能通过函数返回值接收并处理错误。但如果在中大型项目中,业务逻辑错综复杂,日志描述大量重复或者含糊不清,就很难排查问题了。在实践中,由于牛马的不熟练或随意处理错误(比如我),常常在各处打印错误日志,而实际翻找日志时很难定位错误根源。如果能根据在日志中看到错误的堆栈信息,是不是定位问题就变容易多了?很符合我对错误处理的幻想,甚至比try-catch更方便。
2025-01-01 16:50:35
654
原创 Python/GoLang/Java 多环境管理工具 pyenv/goenv/jenv
使用独立的虚拟环境,可以不影响全局环境。pyenv版本管理的原理是将python版本保存于。【高级用法】一次指定多个python版本。文件指定全局版本,通过。文件指定当前用户版本。
2024-11-23 15:09:00
850
1
原创 go结构体默认值和校验器(go-defaults、go-validator)
在Java中我们可以比较容易地借助Spring框架等提供的注解来实现成员字段的值验证,另外Java也原生支持对成员字段赋默认值。然而在go语言中这些都不会原生支持,尤其是在前后端通过json数据交互时,会比较麻烦。对于默认值,原生go语言有一个痛点:基本类型的零值可能跟业务值有冲突。例如,int字段默认值是0,有可能前端传入也是0,那么这个0到底是有效的还是无效的?换句话说,这个0到底是不是前端传入的?就不好判断了。当然,有一些骚操作可以避免这样的事情发生,比如将字段类型定义为*int。
2024-09-29 16:00:12
2021
1
原创 Go实现简单的协程池(通过channel实现)
go编程时,goroutine是非常有用的特性。然而,实践中最好不要无限制的使用goroutine,例如一次性开一万个goroutine去读写文件是很危险的。为了控制goroutine的并行量,有很多框架或库实现了协程池,例如ants(很推荐)。当小项目不想引入第三方库时,可以借助channel自己实现一个简易的协程池。首先,创建一个package,不妨名为。
2024-04-12 12:09:54
685
原创 ffmpeg使用amix混合多个音频时音量变小或音量不一致问题
FFmpeg使用amix进行音频混合时,默认行为是缩减每个音频,这容易让人忽略掉。虽然最新版本FFmpeg提供了参数来屏蔽掉这个默认行为,但老版本FFmpeg还是只能手动调整音量。
2024-03-03 21:19:30
2398
3
原创 ffmpeg 时间裁剪之-ss -t与滤镜中trim=start=*:duration=*的区别和联系
的效果是将视频的时间轴重新调整,使第一帧的时间戳为零,后续帧相对于第一帧进行相应的时间调整。使用这个表达式会将视频的时间轴重新设置,以使第一帧的时间戳为零,后续帧的时间戳相对于第一帧进行调整。另外,滤镜的输入,是-ss -t 等参数裁剪完之后的结果,这个结果的时间戳从0开始。这是输入流的第一帧的时间戳。在一个处理链中,STARTPTS用于引用流的初始时间戳,而不是每一帧的时间戳。例如,-ss -t裁剪完,传给滤镜的文件 总时长10秒,但视频流只在7~10秒(也就是前7秒没画面),那么。
2024-02-02 11:25:24
2641
原创 PhpStorm调试docker容器中的php项目
已经通过docker容器启动了一个web服务,并在宿主机可以访问http://localhost:8080访问网页。现在想使用phpstorm打断点调试代码。
2024-01-28 11:00:06
1986
原创 CentOS升级GCC
CentOS 7默认自带GCC版本4.8,而目前工作中开发环境需要用到GCC8和GCC12,这里记录一下如何升级GCC版本,以及如何多版本并存。遗憾的是上述方式无法安装gcc12,devtoolset目前只提供到gcc11。于是自己找了个软件源(执行后,只在当前终端生效,要永久生效,可以将激活语句加入到。devtoolset对应gcc的版本。命令可以看到版本信息。
2023-11-22 15:04:54
1632
原创 python3 简易 http server:实现本地与远程服务器传大文件
在需要暴露的目录下启动http服务,如。在个人目录下创建新文件。
2023-09-05 16:02:06
3158
1
原创 【备忘】Latex+VSCode编写文档(MacOS)
macOS 配置 LaTeX ( MacTeX + VScode + Skim )一份其实很短的 LaTeX 入门文档
2022-12-16 20:18:12
1083
原创 利用ssh暴力搜索可登录ip【python实现】
利用ssh暴力搜索可登录ip【python实现】实验室服务器天天换ip,换ip,换ip,暴力跑一下!
2022-12-13 12:05:43
771
原创 【备忘】Ubuntu安装nodejs / npm、npm镜像源、laravel框架使用vue作为前端
Ubuntu安装node.js(自带npm)curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -apt install -y nodejs查看版本node -vnpm依赖源问题服务器在外边,速度慢,有两种解决方法。一、安装cnpm,以后使用cnpm代替npm(其实就是使用淘宝源的npm):npm install -g cnpm -registry=https://registry.npm.taobao.org二、修改npm
2022-11-22 12:53:32
1913
原创 CSP-J 2022 第二轮(复赛)真题解析
点击查看题目列表1. 乘方这道题看似简单,但稍不留神就会出错,要求选手具备全面思考问题的能力。- 易错点1:如何判断结果超出$$10^9$$? 计算$$a^b$$最直观的做法是使用循环来计算$$b$$个$$a$$相乘,但一定要注意,千万不要等$$b$$个$$a$$相乘结束后再去判断结果是否达到$$10^9$$!因为循环过程中当结果超过$$10^{18}$$(这里假设你定义的数据类型是long long类型)后,就发生了溢出,结果已经出错。解决方法是在循环过程中,每次将结果乘上一个$$a$$,就判断
2022-11-11 12:02:07
3671
原创 安装phpmyadmin
apt updateapt upgrade -yapt install -y phpmyadmin需要安装php7.2nginx配置文件/etc/nginx/conf.d/phpmyadmin.confserver { listen 8081; listen [::]:8081; server_name pma.example.com; root /usr/share/phpmyadmin/; index index.php index.html index.htm inde
2022-05-03 20:57:09
1938
原创 表达式计算C++
问题描述给定四则运算(含括号)表达式,计算运算结果。拓展知识:逆波兰式。样例输入3+4*(5+6)样例输出47问题分析四则运算基本法则:先算乘除,后算加减,有括号的先算括号。于是给运算符定义优先级:符号优先级+ -1* /2由于括号实际上并不参与运算,只是改变运算的先后次序,所以括号不用考虑优先级,遇到括号时特判即可。由于运算过程中,存在先算后面的情况,所以用栈来保存前面的运算符(如±),等后面运算(如*/)完成,再弹出栈中的运算符进行计算。这里的
2022-04-29 17:50:30
2407
1
原创 2022中兴捧月 限时编程 第一场 24点游戏
吐槽读完题眼前一亮,这不就是24点游戏嘛,小时候和我弟玩过。吐槽一下中兴这个网页编辑器怎么就没法输出看结果呢?我人麻了,编辑器只能给我反馈一个“未通过”,我想输出一下中间结果看一下也不行!?看了半个多小时才发现除法可能会除以0(某两个相等的数相减,然后作为被除数这种情况)。。。。 还是太菜了,除以0都能写得出来。。。题意给定4个数,是否能用算术运算(±*/和括号)得到24?分析首先想到的是搜索,前半个小时一直在尝试深度优先搜索去尝试所有情况,但是代码越写越臭,直奔上百行去了,而且也A不掉。然后就仔
2022-04-24 17:02:18
3932
4
原创 二叉树遍历练习 - 递归/非递归
参考:https://blog.youkuaiyun.com/winter2121/article/details/99560253样例:样例输入:ABD##E##C#FG##H###include <stdio.h>#include <stdlib.h>struct Node{ char data; struct Node *lchild, *rchild;};Node *createTree(){ char ch = getchar();
2022-04-24 12:27:59
1688
原创 数据结构排序练习(数组排序/单链表排序)
太久不写排序了,限时写已经写不出来了。愧为acmer。面试官出了个单链表的排序,让我选一种排序,我选了归并排序。大概写了20分钟,一运行就崩溃,由于面试时间有限,面试官看了看我的代码提了几个易错点(如指针判空,链表分治)。惭愧。今天把排序算法搬出来分别用数组和单链表写了一遍,温故而知新。数组版排序#include <bits/stdc++.h>using namespace std;// 冒泡排序void bubble_sort(int a[], int n){ fo
2022-04-23 11:51:13
1186
原创 git笔记
文章目录✨基本原理🍅常用命令分支管理(初始默认master分支)git add 从工作区向暂存区添加更改git checkout从暂存区提交更改到版本库温馨提示🍉常用操作强制覆盖本地代码✨基本原理工作区:自己电脑上看到的项目,也就是自己写的代码。暂存区:介于工作区和版本库之间的一个缓冲区(保存在.git/index),用户改过的代码必须先执行git add添加到暂存区,然后才能执行git commit将代码更改同步到版本库分支。另外,git commit -a可以一次性将代码的更改和删除添加到缓存
2022-04-17 17:43:07
836
原创 笔记:伯努利分布、二项分布、类别分布、多项分布
文章目录✨机器学习常见概率分布1. 伯努利分布(0-1分布/两点分布)2. 二项分布3. 类别分布4. 多项分布四种概率分布的关系多分类任务与多项式分布有什么关系?✨机器学习常见概率分布1. 伯努利分布(0-1分布/两点分布)源自伯努利试验,对于一个事件,只有两种结果:是/否({1,0}\{1,0\}{1,0}),概率分别为ppp和1−p1-p1−p。例如抛一枚硬币,一般认为正面概率为0.50.50.5,反面概率也是0.50.50.5。设随机变量XXX表示伯努利试验结果,则伯努利试验的概率分布为P
2022-04-08 17:24:18
2657
原创 笔记:机器学习中的熵、KL散度、交叉熵、均方误差;对比:交叉熵 VS 均方误差
文章目录🎈前言🍅信息论1. 信息量2. 熵3. 相对熵(KL散度)4. 交叉熵🍉机器学习中的交叉熵1.🎈前言本文整理了交叉熵损失函数的使用及其推导方法,帮助理解在机器学习中交叉熵损失函数是如何工作的。主要参考了以下文章,如有错误请指教。https://blog.youkuaiyun.com/tsyccnh/article/details/79163834https://www.zhihu.com/question/65288314/answer/244557337🍅信息论要理解交叉熵,需要从信息论基础知
2022-03-28 14:55:51
1617
原创 机器学习中的似然、最大似然估计、先验概率、后验概率、类条件概率、贝叶斯公式
文章目录🎈概率和似然1. 概念2. 举例理解3. 似然函数4. 最大似然估计🍉条件概率🍅全概率公式✨贝叶斯公式🏀先验概率🍔后验概率🎈机器学习中的类条件概率🎀难点:先验、后验、似然的区别1. 先验概率2. 后验概率3. 似然🍒朴素贝叶斯分类器🎈概率和似然1. 概念概率(probability)和似然(likehood)是一对相互的量,两者都用来描述某件事的可能性大小。概率是指通过各种因素影响(参数)推测出的某事件发生的可能性;似然是指通过客观事实(结果)推测出某些因素影响程度(参数)的可能性。但是在统
2022-03-27 21:43:05
3024
1
原创 go语言学习笔记
Go 亦称为 Golang(语言叫做 Go,Golang 只是官方网站的网址),是由谷歌开发的一个开源的编译型的静态语言。Golang 的主要关注点是使得高可用性和可扩展性的 Web 应用的开发变得简便容易。(注:Go 的定位是系统编程语言,只是对 Web 开发支持较好)到目前为止,我们一直在一个go代码文件中进行学习,文件里包含一个 main 函数和一些其它的函数。在实际应用中,整个项目不可能都塞到一个文件里,否则代码重用和维护都会很困难。
2022-03-12 18:30:26
634
3
原创 开机自动登录校园网(西安电子科技大学)
介绍每次开机需要手动打开网页登录校园网,有些烦。本文给出开机自动登录校园网的方法,首先给出西安电子科技大学自动登录校园网的直接可用的脚本,然后给出通用所有大学校园网或单位内网的脚本改写方法。环境要求pip3 install requests pyinstaller开机自动登录校园网1. 创建登录脚本autoconn.pyimport requests# 1. 登录请求地址,下面是西电的登录地址url = 'https://w.xidian.edu.cn/srun_portal_pc.p
2022-01-22 10:47:38
5580
2
原创 深度学习激活函数总结(sigmoid,tanh,ReLU,Leaky ReLU,EReLU,PReLU,Softmax,Swish,Maxout,Softplus)
摘要本文总结了深度学习领域最常见的10中激活函数(sigmoid、Tanh、ReLU、Leaky ReLU、ELU、PReLU、Softmax、Swith、Maxout、Softplus)及其优缺点。前言什么是激活函数?激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。类似于人类大脑中基于神经元的模型,激活函数最终决定了要发射给下一个神经元的内容。在人工神经网络中,一个节点的激活函数定义了该节点在给定的输入或输入集合下的输出。标
2022-01-06 12:07:49
6184
原创 7种Normalization总结(batch normalization,layer normalization,Weight Normalization,Cosine Normalization)
文章目录七种normalization1. Normalization动机原理优点缺点2. Batch Normalization动机原理优点缺点3. Layer Normalization动机原理优点4. Instance Normalization动机原理优缺点5. Group Normalization动机原理6. Weight Normalization动机原理优点7. Cosine Normalization动机原理参考文献七种normalization机器学习中,模型最喜欢的数据就是服从独立
2022-01-02 18:03:37
4103
原创 python爬虫爬取谷歌搜索的结果,正则表达式查找目标内容
方式一,使用requests库import urllibimport requestsfrom bs4 import BeautifulSoup # 第三方包,处理html对象import redef search_google(query): # 爬取网页html源码 url = 'https://google.com/search?q=' + urllib.parse.quote(query) headers = {'User-Agent': 'Mozilla/5
2021-12-19 21:39:40
3472
1
原创 opencv 读取图片 图片数据处理 笔记
1. python中各类图片读取工具的比较参考Python各类图像库的图片读写方式总结可知,opencv的性能表现最好。opencv yyds2. opencv常用函数2.1 读取图片cv2.imread(filename, flags)参数解释filename:图片的完整路径flags:标志位,{cv2.IMREAD_COLOR,cv2.IMREAD_GRAYSCALE,cv2.IMREAD_UNCHANGED}cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alph
2021-12-17 15:55:25
3481
原创 约瑟夫环 通俗理解 推导
问题描述背景故事见百度百科。让n个人围成一圈,他们的编号为0, 1, 2, …, n-1。以0号选手为起点,开始报数(1,2,3…),每次报数报到m的人将被kill(以后报数时不再考虑),下一个人重新从1开始报数。直到最后剩下一个人活着。问最后剩下的人是几号?推导给出一种理解方式:刚才有n+1个人在进行游戏,n号选手是上一个被kill的选手,因此剩下n个人并从0号选手开始报数。所以下面我们试图找出n人游戏和n+1人游戏之间的关系。假设n=7,m=3,并假设该情况下活下来的人是3号。先考虑8个
2021-12-09 17:31:58
3194
原创 VS Code写python快捷输入if __name__ == ‘__main__‘:
pycharm老用户都知道,直接输入main就会自动提示if __name__ == '__main__':代码块。但在VS Code中,不行,不过可以手动配置上,方法如下。点击VS Code左下角小齿轮,点击“用户代码片段”在弹出下拉框中选择python,会打开一个配置文件python.json给python.json添加"Print to console"项,修改后如下:{ "Print to console": { "prefix": "main", "body": [ "if
2021-12-04 21:31:57
9766
2
原创 循环神经网络 RNN LSTM GRU 笔记
文章目录1. 神经网络基础2. RNN 循环神经网络2.1 背景与概念2.2 RNN基本方法2.3 拓展3. LSTM3.1 概念3.2 LSTM基本方法3.3 原理解释4. GRU4.1 概念与背景4.2 GRU基本方法1. 神经网络基础上图是一个简单的全连接神经网络结构,每一条连接线上都有一个权重,蕴含着网络学得的“能力”。不妨记输入x={a1,a2,a3,...,am}x=\{a1,a2,a3,...,am\}x={a1,a2,a3,...,am},隐层s={z1,z2,...,zn}s=\{
2021-12-03 15:32:37
743
原创 python matplotlib画出Dirivhlet分布的单纯形图
参考文献File:Dirichlet.pdf, From Wikipedia, the free encyclopedia画出Dirichlet分布的单纯形图代码import numpy as npimport matplotlibimport matplotlib.pyplot as pltimport matplotlib.tri as trifrom mpl_toolkits.axes_grid1.inset_locator import inset_axes# Add fon
2021-12-02 15:34:10
1953
原创 sharelist+RaiDriver将阿里云盘映射到本地磁盘
摘要阿里云盘等众多网盘业务正在被广泛应用,但只能在其软件界面查看且不能编辑。为了更方便的使用网盘,我们可以把网盘映射为本地磁盘,这样就可以从资源管理器中打开网盘,像打开CDEF盘一样方便。方法使用开源工具sharelist(https://github.com/reruin/sharelist)获取网盘的文件结构,然后使用RaiDriver(https://www.raidrive.com/)将其映射到本地磁盘。1. sharelist请保证已安装Node.js,从官网下载安装即可。sharel
2021-12-01 12:39:12
9234
5
原创 git修改历史commit作者信息
参考https://cxybb.com/article/qq_39558062/105724111直接复制到git bash执行git filter-branch --env-filter 'an="$GIT_AUTHOR_NAME"am="$GIT_AUTHOR_EMAIL"cn="$GIT_COMMITTER_NAME"cm="$GIT_COMMITTER_EMAIL"old_email="原邮箱"if [ "$GIT_COMMITTER_EMAIL" = "$old_email"
2021-11-24 16:56:56
621
原创 解决VS Code编辑运行C/C++代码文件中文乱码问题;修改编码为GBK
文章目录参考文章问题描述解决方法参考文章VSCODE C语言终端输出中文乱码编码设置问题描述VS Code默认文件编码时UTF-8,这对大多数情况是没有问题的,却偏偏对C/C++有问题。如果以UTF-8编码保存C/C++代码,那么只能输出英文,另外使用不同的编辑器打开改代码时,中文注释也可能会乱码。解决方法文件 ⇒ 首选项 ⇒ 设置,点击右侧图标,打开setting.json在setting.json中添加两项 "[cpp]": { "files.encoding":
2021-10-27 15:57:46
5418
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人