Git使用方法
将代码上传至Github的方法以及提升下载速度的方法
向新建仓库首次上传代码
注意事项
2020年10月1日起,github默认主分支从master更名为main
在使用git前应使用指令
1git config --global init.defaultBranch main
将本地默认分支设置为main
上传步骤
在当前文件夹下初始化 git
1git init
将文件添加至缓存区,"."代表文件夹下的全部内容(新建及修改过的文件)
1git add . 或 git add 文件名
将缓存区的内容提交到本地仓库,“xxx"是此次提交内容的注释,例如"First commit”
1git commit -m "xxx"
查看当前状态
1git status
将本地仓库与远程仓库连接
1git remote add origin git@github.com:xxx/xxx.git
如果远程仓库为空(不含README等初始文件),使用如下指令上传
1git push -u origin main
否则使用以下指令上传
1 ...
算法竞赛部分算法(二)算法模板
常用算法模板(C/C++)
整理于 NOIP2016 前 - Written by WZW
定义部分
1234567891011121314151617181920#define MAXN 10005#define MAXM 10005using namespace std;int n,m;struct edge_ {int to,next,w;}edge[MAXM*2];int first[MAXN],et;int dis[MAXN],vis[MAXN];int low[MAXN],dfn[MAXN],tim,belong[MAXN],now;int p[MAXN],eu[MAXN];bool f[MAXN];struct bian_ {int u,v,w;}bian[MAXM];int fa[MAXN];int root,from[MAXN];int rd[MAXN];int anc[MAXN][16],deep[MAXN];int A[MAXN],B[MAXN],cnt;queue <int> Q;stack <int ...
算法竞赛部分算法(一)算法简介
本文写于2015年暑假,当年文笔稚嫩,且内容并不全面,仅供参考。总结内容包括搜索、图论、动态规划、数据结构与数论等。
搜索
DFS
深度优先搜索(Depth-first Search,DFS),基于递归的搜索方式,它的特点是由一个状态拓展一个状态,然后不停拓展,直到找到目标或者无法继续拓展结束一个状态的递归。可以在数列中进行搜索,也可在坐标系中进行搜索。
BFS
广度优先搜索(Breadth-First Search,BFS),基于队列这种数据结构的搜索方式,它的特点是由每一个状态可以扩展出许多状态,然后再以此扩展,直到找到目标状态或者队列中头尾指针相遇,即队列中所有状态都已处理完毕。
优缺点
DFS:对于解决遍历和求所有问题有效,对于问题搜索深度小的时候处理速度迅速,然而在深度很大的情况下效率不高
BFS:对于解决最短或最少问题特别有效,而且寻找深度小,但缺点是内存耗费量大(需要开大量的数组单元用来存储状态)。
剪枝
由于时间和空间的局限性,搜索一般只能解决数据量小的问题。所以我们需要用不同的方法剪枝。剪枝方法包括:
记忆化搜索(与DP类似);
从方法上剪枝,如采用分枝定 ...
ASR (自动语音识别)初探
ASR实验及记录
DeepSpeech2
DeepSpeech2是一个采用PaddlePaddle平台的端到端自动语音识别引擎的开源项目,具体原理参考论文Baidu’s Deep Speech 2 paper。
环境配置
使用官方镜像,运行失败。原因:PaddlePaddle版本不匹配,缺少RNN模块等关键组件;尝试进行修改后发现CUDNN版本也不匹配;
使用带有正确版本CUDA与CUDNN的镜像,手动安装PaddlePaddle,安装成功后clone DeepSpeech2项目,根据setup.sh进行相关依赖的安装与配置。注意镜像中缺少git、swig等基础命令或依赖包的安装,需通过apt-get进行安装。
数据准备及使用方式:
下载BaiduCN1.2k Model语音模型与Mandarin LM Small语言模型;
自行准备manifest文件,其中包括每条音频的存储路径,音频时长与数据标签(文本)。文本中不能含有标点符号、英文字母与阿拉伯数字。格式为:{“audio_filepath”: “”, “duration”: , “text”: “”}
使 ...
Python使用建议
强烈推荐Python组合技 : MiniConda + Jupyter + Vscode
管理Python环境
使用miniconda管理python环境,方便不同python版本的管理与切换,同时方便对python库进行管理与使用。例如你可以创建一个python版本为3.7的环境来进行tensorflow的使用,创建一个python版本为3.8的环境来进行pytorch的使用,两个环境独立,互不影响。
实时运行代码
使用Jupyter Notebook来进行程序编写,可以实时运行代码。每完成几行代码后,同时按下enter与shift,可直接运行这几行代码并得到结果,并且结果会保存在内存中,可继续编写程序。
合适的IDE
使用全能的Vscode搭配miniconda与jupyter进行python程序的编写,比起在网页上使用jupyter notebook更加舒适。在Vscode的右上角可更改所使用的python环境。
具体的安装方式与环境配置方式待补充。
律学初探(一)
本文修改后出版于《音频音乐与计算机的交融——音频音乐技术2》,谢绝转载。
一、概论
律学(temperament)是对构成乐制的各音依据声学原理、运用数学方法来研究各音间相互关系的一门学科。其中,“律”是构成律制的基本单位。当各律在高度上作精密规定,形成一种体系时,称为“律制”(tuning system)。“律”和“音”的概念相近但略有不同,律制中每个单位称为“律”,而音阶中每个单位称为“音”,律制与音阶的关系十分密切。
我们知道,在复合音中,除“基音”(fundamental tone)外还有各种“泛音”(overtone),有时也称为倍音。以弦振动为例,全弦振动产生基音,同时各部分振动产生各种泛音(弦分两段振动产生第一泛音,分三段振动产生第二泛音,以此类推)。将基音和各泛音进行横向排列,可以得到“谐音列”,如表1-1所示。各律制的规定与谐音列密不可分。
表1-1 谐音列
第一谐音
第二谐音
第三谐音
第四谐音
第五谐音
……
第N谐音
基音
第一泛音
第二泛音
第三泛音
第四泛音
……
第N-1泛音
f(频率)
2f
3f
4f
5f
……
N×f
接下 ...
Hello World
Welcome to Hell