自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 10 应对loss为nan的问题

PS:因为最后不打算做这个方向了,所以也没进一步修改模型。(肯定是得进一步修改模型的,激活函数,标准化函数,还有模型结构等等)如果学习率改的很小还是nan,那么,模型里面可能梯度太大了,得调整一下模型的结构了(学习率太小学的很慢的)把lr从0.000025改成 0.000005。

2024-07-29 12:15:53 322

原创 09 在DTT的框架下修改模型

这个改的模型其实有问题,后面没调了,不过这篇文章主要是看怎么改模型,还是很不错的

2024-07-29 12:12:31 447

原创 08 浅谈STFT(短时傅里叶变换)

在STFT中,频率的数量取决于FFT窗口的大小(n_fft)。通常,频率的数量是 n_fft/2 + 1,因为FFT的结果是对称的,只有一半是唯一的。这些段的数量取决于信号的总长度、FFT窗口的大小以及步长(hop_length)。在音频处理中,经常只关注一定范围内的频率,因为这些频率包含了音频的主要信息。复数有实部和虚部,因此这一维的大小是2。在FFT中,每个频率分量都是一个复数,其实部和虚部分别表示该频率分量的幅度和相位信息。self.n_bins 通常等于 n_fft/2 + 1,表示频率的数量。

2024-07-19 11:16:06 384

原创 07 Tmux后台训练模型

命令可以查看当前所有的 Tmux 会话。以下是 Tmux 的最简操作流程。命令用于杀死某个会话。

2024-07-19 10:06:06 145

原创 06 浅谈DTT模型的配置文件

你看它里面也有之前已经配置过的model,trainer,datamodule之类的,当然是以后出现的配置为准(会覆盖与前面配置的冲突的地方)如果你的训练命令中加上了logger=[]:根据Hydra的配置机制,命令行参数的优先级高于配置文件。defaults里面还有一个override /model: vocals.yaml,文件,还是一样,后出现的配置覆盖与前面配置的冲突的地方。时,配置文件究竟是怎么选的呢?,不要忘了我们运行命令时指定了。同理,我们跳过几个,看。,这个告诉我们它用到了。

2024-07-19 10:04:44 611

原创 05 DTT模型的下载和运行

效果就是保持原本的train文件夹不变之外,新建了许多文件夹,里面存放经过data argmentation(数据增强)的各个歌曲的5个.wav文件(mix+4个)文件夹(里面装着4个.ckpt文件,其实就是4种训练好的模型的checkpoint,里面存好了参数和其他一些信息),然后把这个文件夹放到机器的这个模型的目录。我自己训练的500多个epoch的模型(这500多轮里的最优模型)(无data_argumentation)(PROJECT_ROOT的作用是跑模型推理时结果存在。由此大概可估计效最终果。

2024-07-19 10:02:07 621

原创 04 多进程编程以利用多核

就是OS对线程的实现和Python啊C语言啊提供给你的线程不是一个东西,用户线程的话比如c语言库会给你维护一个线程池,里面的线程最终还是得依赖os的线程实现来做。其实编程语言设置线程的概念也是为了屏蔽底层的os实现,不管底层os是用的用户级线程实现,还是内核级线程实现,编程语言都可以帮你搞定。python evaluate.py跑的太慢了,python enhance.py跑的也不快,所以我想把这两个文件改一下,内部写成多进程的模式。不设置这个的话,默认的创建子进程的方式是fork,跑起来会报错的。

2024-07-11 11:16:03 310

原创 01 远程连接到分配的服务器

不容易(如果安装的conda有问题,会在用conda创建虚拟环境时一直在soving environment)p.s:数据可以放在/data1或者/data2下面,home目录空间比较小,就放点代码啥的就行了。:这些设置会影响通过命令行发起的 HTTP 和 HTTPS 请求,例如使用。命令后,会将指定的代理服务器配置应用到你的命令行环境中。使用代理服务器,需要显式地告诉它代理服务器的地址。我发现ubuntu里的百度ai回答的方法下载的conda是好的。命令不行的原因是,默认情况下,

2024-07-11 11:14:08 955

原创 02 demucs模型的下载和运行

会根据指定的 YAML 文件来创建或更新一个虚拟环境,并安装文件中列出的所有包。有时候你的项目依赖于当前目录中的代码,这些代码可能在开发阶段或本地没有发布到 PyPI(Python Package Index)。安装包的可编辑模式,允许你在开发过程中随时修改代码并立即看到效果,而不需要每次修改后重新安装包。(1)**首先,git clone,**但要注意不要在home目录下这么做(空间不够),去/data1这么做。,发现安装成功了,就自以为OK了,其实装错地方了,因为前面加了。:定义命令行脚本的入口。

2024-07-11 11:08:36 288

原创 03如何替换baseline的模型

,然后检查hubconf.py里的dependencies列表列出的依赖是不是都已经下载了(这边依赖的名字可能会有问题,比如dora写成dora-search,就是名字的问题,包其实没问题,需要手动修改一下),然后model这个参数必须是在hubconf.py被import了的,model其实是一个函数啦,然后就会调用model(*args, **kwargs)。然后什么样的模型可以以这种方式加载呢?我遇到的实际情况:想添加一个htdemucs的模型。定义的,是属于torch这个包的。

2024-07-11 11:05:29 312

原创 一道缺页时访问时间的好题

当发生缺页并将页面装入内存后,通常需要再次访问页表。当缺页中断处理程序将所需页面从外存装入内存后,页表会更新以反映新的映射关系。然后,处理程序会重新执行导致缺页的指令,此时再一次访问页表,以查找更新后的页表条目,从而找到对应的物理地址并完成内存访问。如果快表命中率为99%,缺页中断率为0.01%,则该系统地址转换的平均时间为多少?这就涉及到一个问题:访问页表发生缺页,装入页面后还需要再访问页表吗?因此,装入页面后需要再次访问页表以完成原始内存访问请求。2)页表访问时间为100ns;

2024-06-27 19:03:49 213

原创 ## 操作系统进程调度练习题(书面)(搞懂此题搞懂全部)

有三道程序,按照A、B、C的优先次序运行,其内部计算和I/O操作时间如下图所示。试画出多道运行的时间关系图(忽略操作系统执行时间)。完成三道程序共花费多少时间?比单道运行节省多少时间?若操作系统每次执行(包括中断处理、作业调度、作业切换等)花费1ms,试画出各程序状态转换的时间关系图(分抢占和非抢占两种调度策略)。(作业调度和切换发生1个或者都发生都是1ms,中断处理是1ms)

2024-06-27 18:31:21 224 1

原创 “python3 -m pip install . “这句命令是什么意思啊

这指的是当前目录(即命令运行的位置)。:这通常是在Unix-like系统(如Linux或Mac OS X)中调用Python 3版本的命令。就是调用pip安装器的方式,以确保你使用的是正确版本的Python(在这里是Python3)的pip。注:这个命令通常在创建并第一次激活某个虚拟环境(如conda,venv等)后在虚拟环境中使用。这个命令是在终端或命令提示符中用来安装Python包的一个命令。文件,这个文件是Python用来安装那个软件包的标准方式。:这是pip的一个子命令,用来安装包。

2024-03-05 23:46:40 637

原创 简要学习vscode,cmake以及.json文件

但此时调试会困难些,因为在vscode里面帮你生成的.json文件只能针对单文件调试,你需要修改.json里面的program “”那边,改成hh.exe才行。Vscode中,你可以直接写一个cpp文件,然后在里面的终端用g++编译生成.exe文件,然后在终端./xxx.exe执行即可。如果想要调试,那么g++时要加上-g,生成的是可调试的版本;补充一下,launch.json里面有个pretask,会去调用task.json(作用是重新编译),如果不调,那么即使你修改了代码,调试的依然是修改前的代码。

2024-02-01 16:23:29 218 1

原创 可计算型和计算复杂性理论

2023-12-22 18:01:52 418

原创 UVA 1161 航程规划

不要向其他题解那样每条航线拆成两个点,而是每条航线是一个点,用 vector<flight>arr[i] 存一下以 i 号城市为起点的所有航线,( flight 是自己定义的结构体,存终点、出发时间、到达时间、乘客上限),对每个 arr[i] 内部排个序(出发早的航线在前),一个 arr[i] 内部的每个航线和后一个航线连一条无限容量的边,表示可以在这个起始城市呆多久都行。对于每个航线 t ,去终点对应的 arr[i] 里找第一个符合要求的航线(换乘来得及的),连一条容量为航线 t 乘客上限的边即可。

2023-12-01 20:00:11 341 1

原创 UVA 10806 Dijkstra, Dijkstra

(1)这样不会使本应无解的情况有解:一条边是S-->A->B-->T,另一条边是S从虚线到A,A->B,B从虚线到T,看似AB边走了2次,其实此时可以S-->A-->T, S-->B-->T,不走AB,确实有解。(2)这样不会得到比正确的最小值更小的解。假如因为AB边走了2次而得到更小的解,那么同 (1)可以知道,不走AB的方法一定可以有更小的解(且合法)(因为cost一定是正的)重点讲一下每一条无向边变成2条有向边的正确性。

2023-12-01 11:48:08 505 1

原创 UVA10615 Rooks

这样做之后,每个点度数相同,由定理:二部图存在完备匹配当且仅当V1中任意k个顶点至少与V2中的k个顶点相邻(当V1与V2点数相同时,完备匹配即完美匹配),可以知道,一定存在完美匹配,并且删边后依然如此。我们可以先想想每个点都是车的情况,对于N乘N的图,显然N种颜色就行(每行右移一个)。然后可以猜测,最少颜色数就是某行/列的最大车数 ma。但是我们不能直接求最大匹配、删去匹配边这样重复操作,直接爆搜是不行的,回溯的情况贼多,时间复杂度太大。所以我们需要补边,让每个点的度都是上面的 ma。

2023-11-27 22:52:06 557

原创 线段树3(变式:区间内最大连续和+单点修改)

线段树的本质是二分。查询时,都是将大区间二分成左右两个子区间分别查询,再将结果合并,比如求区间和时将结果相加,求最值时取最值等。区间内最大连续和也是同理,将大区间二分为2个子区间,连续最大和要么在左子区间,要么在右子区间,要么是左子区间的最大后缀和加上右子区间的最大前缀和。(所以query函数的返回值应为结构体,平时线段树query函数不用有返回值是因为用_sum之类的变量在每一小段都把答案维护了,但最大连续和没法这样)为了维护这些,可能还需要多维护一些才能够维护这些。(比如这题里的sumv,即区间和)。

2023-11-12 11:53:27 49 1

原创 P1438 无聊的数列

差分 线段树的区间+v与区间求和 区间特判

2023-11-12 10:28:58 74 1

原创 UVA1232 SKYLINE

【代码】UVA1232 SKYLINE。

2023-11-09 08:54:21 39 1

原创 刘汝佳的线段树完全体(set+add+query)

注意add本来可以不用pushdown的,但和set结合后必须pushdown。每一处该pushdown的地方都要pushdown,并及时maintain(注意maintain的位置)。注释写的很详细了,建议先看懂。贴的代码即为AC代码。

2023-11-07 19:19:48 37

原创 刘汝佳的线段树模板2

set与add不同,set要考虑先后顺序。因此set需要pushdown操作,并且查询时遇到setv[o]>=0就不再往下递归了(下面可能还有setv,但理应被这里的覆盖掉)注意update时多了2个maintain操作,因为修改了setv之后肯定得maintain。默认setv[o]>=0才表示set了。区间元素set为v,区间元素和、最值。

2023-11-07 12:17:40 39

原创 刘汝佳的线段树模板1

sumv[o], minv[o],maxv[o]的定义都是“如果只执行该节点及其子孙节点中的addv操作时的sumv,minv,maxv”,这与update后必须maintain是对应的。注意这个模板里面数组大小要开元素个数的4倍,因为线段树的节点个数本来就是元素个数的2倍,并且这个模板里的叶节点也有“虚拟的”左右子节点,所以是4倍。在下标选择方面,其实线段树对下标从0还是1开始没有要求,从零开始的话函数调用就要写xxx(1,0,n-1),从1开始则是xxx(1,1,n)。区间元素加v,区间元素和、最值。

2023-11-07 11:03:17 42

空空如也

空空如也

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

TA关注的人

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