<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wr1997的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wr1997</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wr1997]]></copyright><item><title><![CDATA[优先队列]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/115967920</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/115967920</guid><author>wr1997</author><pubDate>Wed, 21 Apr 2021 17:56:19 +0800</pubDate><description><![CDATA[优先队列

优先队列(priority queue)：
可以在O(1)时间获得最大值，在O(log n)时间内取出或者插入最大值。常用堆(heap)来实现。

1.实现

实现队列和栈与实现优先队列的不同在于性能的要求。队列和栈实现在常数时间完成所有操作。使用基础结构来实现优先队列，在最坏情况下插入元素和删除最大元素需要用线性时间来完成。基于堆来实现优先队列可以保证两个操作在logN的时间完成。



堆
一个完全二叉树，每个节点的值总是大于等于子节点的值。通常使用一个数组来建立一个树。堆的两个核心操作是上]]></description><category></category></item><item><title><![CDATA[Python多进程解决方案multiprocessing ProcessPoolExecutor]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/115672157</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/115672157</guid><author>wr1997</author><pubDate>Tue, 13 Apr 2021 16:39:08 +0800</pubDate><description><![CDATA[大多数编程语言都会有多线程和多进程的概念，至于线程和进程的概念，大家可以百度一下。

作为一门胶水语言，Python毫不意外，也可以利用多线程和多进程处理并发问题，但是多线程由于GIL的存在，起作用范围大打折扣，仅限于在IO等场景可以发挥点作用。

所以，今天要跟大家分享的是Python多进程方案，更好地利用系统多核，从而提升性能。



基础方案一：

利用Process新建一个子进程，在子进程执行任务。我们

写一个循环，模拟耗时任务的执行。主进程不会等待子进程执行完，就会继续往下执行。我们可以根据实.]]></description><category></category></item><item><title><![CDATA[jupyter notebook&& jupyter lab]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/115666835</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/115666835</guid><author>wr1997</author><pubDate>Tue, 13 Apr 2021 15:55:29 +0800</pubDate><description><![CDATA[目录



1.jupyter notebook

2.jupyter lab

1.jupyter notebook


conda install jupyter notebook
conda install nb_conda

创建虚拟环境并进入，然后i继续：


pip install ipykernel  #预安装 ipykernel 包
# 将tensorflow环境作为 kernel 初始化，并命名为.  这个环境添加到了ipython的kernel中
python -m ipykernel.]]></description><category></category></item><item><title><![CDATA[2021-03-30项目实践记录]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/115319256</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/115319256</guid><author>wr1997</author><pubDate>Tue, 30 Mar 2021 16:26:27 +0800</pubDate><description><![CDATA[1.结合vagrant和VM虚拟机

官网直接进行vagrant init太慢了

翻墙后差不多一分钟，


要么使用中科大镜像。


vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box

vagrant up


2.

vagrant创建连接虚拟机超时是因为忘了在BLOS界面打开CPU虚拟化


















...]]></description><category></category></item><item><title><![CDATA[2020-12-16 python调试笔记]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/111256126</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/111256126</guid><author>wr1997</author><pubDate>Tue, 30 Mar 2021 12:48:37 +0800</pubDate><description><![CDATA[1. dict相关


'''
for test to print the value...
'''
data={'1.wav':[[ 1.9010893 ,  1.8951541 ,  0.7492561 , 1.1373364 ,
         2.1521096 ,  4.452796  ],
    [ 1.5981388 ,  1.5932648 ,  1.4989793 ,  0.3432958 ,
         0.92565787,  2.1640224 ],
    [ 1....]]></description><category></category></item><item><title><![CDATA[博客部署到coding.net等平台]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/115296778</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/115296778</guid><author>wr1997</author><pubDate>Mon, 29 Mar 2021 13:00:21 +0800</pubDate><description><![CDATA[Hexo是一个快速，简单和强大的博客框架。您使用Markdown（或其他语言）撰写帖子，Hexo会在几秒钟内生成具有漂亮主题的静态文件




注册Coding





添加SSH公钥连接



然后复制添加到coding密钥



之后开启一个服务，添加私钥



并在命令行测试，首次建立链接会要求信任主机。





部署项目到Coding





hexo部署的时候，输错密码了，一直错误又不弹出框：





到这里去修改





放到gitee平台上，类似操作流程


...]]></description><category></category></item><item><title><![CDATA[VAE 中后验坍塌问题]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/115255712</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/115255712</guid><author>wr1997</author><pubDate>Fri, 26 Mar 2021 22:04:07 +0800</pubDate><description><![CDATA[后验坍塌


在贝叶斯模型世界（如VAE，pPCA），所担心的不是神经网络的“梯度消失”或“梯度爆炸”，而是“后验失效”(posterior collapse)现象。本质上，任何模型（传统或非传统）都要从每个新样本“汲取信息”，更新自身。当信息无法汲取并用来更新模型，就会出现上述问题。相对比较晦涩，简单来说就是 z的生成已经摆脱了前边encoder的影响，然后z直接输出一个或多个从大部分样本总结出来的几种模式。该模型最终只依赖于解码器的自回归特性，而忽略了潜在变量，这变得无信息。


一般认为是因为解...]]></description><category></category></item><item><title><![CDATA[KL散度-多元分布到一元情况  && 标准正态分布KL-VAEloss部分]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/115237165</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/115237165</guid><author>wr1997</author><pubDate>Fri, 26 Mar 2021 12:39:33 +0800</pubDate><description><![CDATA[KL散度

KL散度：

多元分布到一元

对于各分量相互独立的多元分布：

 

KL散度可以分解为边缘分布的KL散度之和：

 

所以，我们把注意力集中在一维分布间KL散度的计算上。

正态分布

贝叶斯神经网络中，正态分布常用作变分分布和先验分布。





KL散度为：





详细推导-VAE中的例子

两个多变量高斯分布之间的KL散度是变分自编码中损失函数推导的重要步骤










结果的第一项：



             ...]]></description><category></category></item><item><title><![CDATA[2021-03-12/15/18实验记录]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/114703043</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/114703043</guid><author>wr1997</author><pubDate>Thu, 18 Mar 2021 16:10:53 +0800</pubDate><description><![CDATA[1.


importlib.import_module()

动态导入对象，动态导入模块，



导入当前包下的preprocessor_name（vctk.py）模块.Preprocessor



2.

functools.partial()

https://www.cnblogs.com/wxys/p/13756552.html



3.

pool.imap

是Python的进程池的一种调用方法

多进程模式最大的优点就是稳定性高，因为每个进程独立拥有自己的调度资源，一个Worker的崩.]]></description><category></category></item><item><title><![CDATA[4 个节省大量时间的 Deep Learning 效率神器]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/114702685</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/114702685</guid><author>wr1997</author><pubDate>Fri, 12 Mar 2021 18:32:18 +0800</pubDate><description><![CDATA[问题链接：https://www.zhihu.com/question/384519338，本文来自知乎问答，回答已获作者授权，禁止二次转载。

一、Fing

https://www.zhihu.com/question/384519338/answer/1160886439

wandb，weights\&amp;bias，最近发现的一个神库。

深度学习实验结果保存与分析是最让我头疼的一件事情，每个实验要保存对应的log，training curve还有生成图片等等，光这些visualization就]]></description><category></category></item><item><title><![CDATA[cotatron 中构造的特征_笔记]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/114702005</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/114702005</guid><author>wr1997</author><pubDate>Fri, 12 Mar 2021 17:50:45 +0800</pubDate><description><![CDATA[1）



预训练TTS系统，即tacotron2时，根据decoder hidden state 和encoder output，即根据目标隐状态-绿色的和每个源状态-蓝色实心的，“相比”，以生成注意力权重（attention weights）矩阵也称为对齐（alignments）



根据注意力权重，可以计算上下文向量作为源状态的加权平均。





2）

可以使用不同的score函数：

基于内容的注意力机制能够将不同的输出与相应的输入元素连接，而与其位置无关。在Tacotron2中使用基...]]></description><category></category></item><item><title><![CDATA[2021-03-10/11实验记录]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/114625712</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/114625712</guid><author>wr1997</author><pubDate>Fri, 12 Mar 2021 17:20:53 +0800</pubDate><description><![CDATA[1.

TypeError: cat() got an unexpected keyword argument 'axis'



提高pytorch的版本至1.2.0以上



2.

RuntimeError: Input type (torch.cuda.DoubleTensor) and weight type (torch.cuda.FloatTensor) should be the same

1）CUDA和CPU，输入数据x和模型中的权重值类型不一样，一般来说是因为模型的参数不在GPU中，而]]></description><category></category></item><item><title><![CDATA[2021-03-08操作记录]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/114536639</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/114536639</guid><author>wr1997</author><pubDate>Wed, 10 Mar 2021 09:26:58 +0800</pubDate><description><![CDATA[1.

OMP: Warning #190: Forking a process while a parallel region is active is potentially unsafe.
可能问题：同时使用多个dataloader时，有时候会出现这个警告，同时cpu占用率飙升。
解决方案：将DataLoader初始化参数中的pin_memory设为False，问题解决。参考链接
原文链接：https://blog.youkuaiyun.com/zhjadsf/article/details/82983083

]]></description><category></category></item><item><title><![CDATA[BatchNorm, LayerNorm, InstanceNorm和GroupNorm]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/112390096</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/112390096</guid><author>wr1997</author><pubDate>Sat, 09 Jan 2021 12:28:06 +0800</pubDate><description><![CDATA[简介

这一篇介绍四种Norm的方式. 之前我们介绍过BatchNorm的方法,Batch Normalization技术介绍. 这一篇会将BatchNorm, LayerNorm, InstanceNorm和GroupNorm这四种Normailzation的技术一起进行比较和说明.

参考资料

Pytorch Normalization Layers(官方文档使用说明): Normalization layers
	Pytorch Normalization中文介绍:ytorch常用normali..]]></description><category></category></item><item><title><![CDATA[2020-12-14音频笔记]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/111149787</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/111149787</guid><author>wr1997</author><pubDate>Mon, 14 Dec 2020 20:00:41 +0800</pubDate><description><![CDATA[1.scipy.io.wavfile.read()

!!!This function cannot read wav files with 24-bit data.

Common data types: [1]


			WAV format
			
			
			Min
			
			
			Max
			
			
			NumPy dtype
			
		
			32-bit floating-point
			
			
			-1.0
			
			
			+1.0
			
			
			f...]]></description><category></category></item><item><title><![CDATA[GN，Interpolate, Sampler，DataLoader, DataSet(Pytorch)]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/109922145</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/109922145</guid><author>wr1997</author><pubDate>Sun, 22 Nov 2020 18:59:36 +0800</pubDate><description><![CDATA[1 GN

Face book AI research（FAIR）吴育昕-何恺明联合推出重磅新作Group Normalization（GN），GN解决了BN式归一化对batch size依赖的影响。

BN全名是Batch Normalization，见名知意，其是一种归一化方式，而且是以batch的维度做归一化，那么问题就来了，此归一化方式对batch是independent的，过小的batch size会导致其性能下降，一般来说每GPU上batch设为32最合适；

但是对于一些其他深度学习任务bat]]></description><category></category></item><item><title><![CDATA[python 中if-else的多种简洁的写法]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/109727285</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/109727285</guid><author>wr1997</author><pubDate>Mon, 16 Nov 2020 18:59:15 +0800</pubDate><description><![CDATA[因写多了判断语句，看着短短的代码却占据来好几行，于是便搜下if-else简洁的写法，结果也是发现新大陆

4种：

第1种:__就是普通写法




a, b, c = 1, 2, 3
if a&gt;b:

    c = a

else:

    c = b



第二种：一行表达式,为真时放if前


c = a if a&gt;b else b

第三种：二维列表，利用大小判断的0，1当作索引


c= [b, a][a &gt; b]

第四种：传说中的黑客，利用逻辑运算符进行操作，都是最...]]></description><category></category></item><item><title><![CDATA[tf.slim以及其他]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/109561277</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/109561277</guid><author>wr1997</author><pubDate>Sun, 08 Nov 2020 16:44:09 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/monologuesmw/p/12627697.html



https://www.cnblogs.com/elitphil/p/12009990.html



https://zhuanlan.zhihu.com/p/129254863
]]></description><category></category></item><item><title><![CDATA[神经网络可视化部分认识]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/109520645</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/109520645</guid><author>wr1997</author><pubDate>Thu, 05 Nov 2020 21:15:54 +0800</pubDate><description><![CDATA[1 基于ONNX

Open Neural Network Exchange（ONNX，开放神经网络交换）格式，是一个用于表示深度学习模型的标准，可使模型在不同框架之间进行转移。

https://www.jianshu.com/p/65cfb475584a

Caffe2，PyTorch，Microsoft Cognitive Toolkit，Apache MXNet等主流框架都对ONNX有着不同程度的支持。这就便于了我们的算法及模型在不同的框架之间的迁移。

ONNX是一个开放式规范，由以下组件组成：
]]></description><category></category></item><item><title><![CDATA[tensorflow部分认识]]></title><link>https://blog.youkuaiyun.com/wr1997/article/details/109498199</link><guid>https://blog.youkuaiyun.com/wr1997/article/details/109498199</guid><author>wr1997</author><pubDate>Wed, 04 Nov 2020 20:21:52 +0800</pubDate><description><![CDATA[Tf就像是一个动作构成的树，就像太极拳一样，你必须从一个动作开始添加动作，并形成一套动作，这些动作的组合形成一个运算的步骤，这一点跟面对过程语言很像，不过它是实际上创建图并围绕图运作的。Tf就是一个计算模型，你根据数据（比如在平面上给出一些点的坐标）和推导建模（比如假设用n次幂的线分割），建模完成后选择优化方法（所有的优化方法都已经提供，只需要选择相应的优化函数），在建模的时候，为了TF可以对后续的计算进行优化，并行等目的，所有的op都要用tf提供的op（比如tf.sub而不是“-”）

通常工作步骤：..]]></description><category></category></item></channel></rss>