pytorch

How to compute the cosine_similarity in pytorch for all rows in a matrix with respect to all rows in another matrix

六月ゝ 毕业季﹏ 提交于 2020-12-01 09:40:07
问题 In pytorch, given that I have 2 matrixes how would I compute cosine similarity of all rows in each with all rows in the other. For example Given the input = matrix_1 = [a b] [c d] matrix_2 = [e f] [g h] I would like the output to be output = [cosine_sim([a b] [e f]) cosine_sim([a b] [g h])] [cosine_sim([c d] [e f]) cosine_sim([c d] [g h])] At the moment I am using torch.nn.functional.cosine_similarity(matrix_1, matrix_2) which returns the cosine of the row with only that corresponding row in

10条PyTorch避坑指南

和自甴很熟 提交于 2020-11-30 23:40:19
点击上方“ 视学算法 ”,选择加" 星标 " 重磅干货,第一时间送达 本文转载自:机器之心 | 作者:Eugene Khvedchenya 参与:小舟、蛋酱、魔王 高性能 PyTorch 的训练管道是什么样的?是产生最高准确率的模型?是最快的运行速度?是易于理解和扩展?还是容易并行化?答案是,包括以上提到的所有。 如何用最少的精力,完成最高效的 PyTorch 训练? 一位有着 PyTorch 两年使用经历的 Medium 博主最近分享了他在这方面的 10 个真诚建议 。 ‍ 在 Efficient PyTorch 这一部分中,作者提供了一些识别和消除 I/O 和 CPU 瓶颈的技巧。第二部分阐述了一些高效张量运算的技巧,第三部分是在高效模型上的 debug 技巧。 在阅读这篇文章之前,你需要对 PyTorch 有一定程度的了解。 好吧,从最明显的一个开始: 建议 0:了解你代码中的瓶颈在哪里 命令行工具比如 nvidia-smi、htop、iotop、nvtop、py-spy、strace 等,应该成为你最好的伙伴。你的训练管道是否受 CPU 约束?IO 约束?GPU 约束?这些工具将帮你找到答案。 这些工具你可能从未听过,即使听过也可能没用过。没关系。如果你不立即使用它们也可以。只需记住,其他人可能正在用它们来训练模型,速度可能会比你快 5%、10%、15%-……

解决安装tensorflow等速度慢,超时

放肆的年华 提交于 2020-11-30 04:10:20
安装tensorflow-gpu速度慢 一般不建议采用pip install tensorflow-gpu1.5.0 --upgrade tensorflow-gpu方式,这种方式需要翻墙而且下载速度超级慢。可以使用国内镜像,pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu1.5.0 pip --default-timeout=1000000 install -U -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu 这样还可以防止超时 pip --default-timeout=1000000 install -U -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu==2.0.0 这样还可以防止超时,还是指定版本 卸载 pip uninstall tensorflow-gpu 镜像网址 清华: https://pypi.tuna.tsinghua.edu.cn/simple 阿里云: http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https:/

高性能PyTorch是如何炼成的?过来人吐血整理的10条避坑指南

≡放荡痞女 提交于 2020-11-29 22:47:57
选自towardsdatascience 作者:Eugene Khvedchenya 机器之心编译 参与:小舟、蛋酱、魔王 高性能 PyTorch 的训练管道是什么样的?是产生最高准确率的模型?是最快的运行速度?是易于理解和扩展?还是容易并行化?答案是,包括以上提到的所有。 如何用最少的精力,完成最高效的 PyTorch 训练? 一位有着 PyTorch 两年使用经历的 Medium 博主最近分享了他在这方面的 10 个真诚建议 。 ‍ 在 Efficient PyTorch 这一部分中,作者提供了一些识别和消除 I/O 和 CPU 瓶颈的技巧。第二部分阐述了一些高效张量运算的技巧,第三部分是在高效模型上的 debug 技巧。 在阅读这篇文章之前,你需要对 PyTorch 有一定程度的了解。 好吧,从最明显的一个开始: 建议 0:了解你代码中的瓶颈在哪里 命令行工具比如 nvidia-smi、htop、iotop、nvtop、py-spy、strace 等,应该成为你最好的伙伴。你的训练管道是否受 CPU 约束?IO 约束?GPU 约束?这些工具将帮你找到答案。 这些工具你可能从未听过,即使听过也可能没用过。没关系。如果你不立即使用它们也可以。只需记住,其他人可能正在用它们来训练模型,速度可能会比你快 5%、10%、15%-…… 最终可能会导致面向市场或者工作机会时候的不同结果。

ValueError: optimizer got an empty parameter list

强颜欢笑 提交于 2020-11-29 19:03:44
问题 I create the following simple linear class: class Decoder(nn.Module): def __init__(self, K, h=()): super().__init__() h = (K,)+h+(K,) self.layers = [nn.Linear(h1,h2) for h1,h2 in zip(h, h[1:])] def forward(self, x): for layer in self.layers[:-1]: x = F.relu(layer(x)) return self.layers[-1](x) However, when I try to put the parameters in a optimizer class I get the error ValueError: optimizer got an empty parameter list . decoder = Decoder(4) LR = 1e-3 opt = optim.Adam(decoder.parameters(), lr

不到1000行代码,GitHub 1400星,天才黑客开源深度学习框架tinygrad

时光怂恿深爱的人放手 提交于 2020-11-29 13:49:29
来源:机器之心 本文 约2000字 ,建议阅读 5 分钟 最近,天才黑客 George Hotz 开源了一个小型深度学习框架 tinygrad,兼具 PyTorch 和 micrograd 的功能。tinygrad 的代码数量不到 1000 行,目前该项目获得了 GitHub 1400 星。 在深度学习时代,谷歌、Facebook、百度等科技巨头开源了多款框架来帮助开发者更轻松地学习、构建和训练不同类型的神经网络。而这些大公司也花费了很大的精力来维护 TensorFlow、PyTorch 这样庞大的深度学习框架。 除了这类主流框架之外,开发者们也会开源一些小而精的框架或者库。比如今年 4 月份,特斯拉人工智能部门主管 Andrej Karpathy 开源了其编写的微型 autograd 引擎 micrograd,该引擎还用 50 行代码实现了一个类 PyTorch api 的神经网络库。目前,micrograd 项目的 GitHub star 量达到 1200 星。 不久前,天才黑客 George Hotz(乔治 · 霍兹)开源了一个小型 Autograd Tensor 库 tinygrad,它介于 PyTorch 和 micrograd 之间,能够满足做深度学习的大部分要求。上线不到一个月,该项目在 GitHub 上已经获得 1400 星。 项目地址: https:/

《阿里云飞天AI加速器+Serverless容器,帮助图森未来提升资源利用率》

有些话、适合烂在心里 提交于 2020-11-28 09:32:02
简介: 今年年初,图森未来的无人驾驶卡车还上了“钢铁侠”的扮演者小罗伯特·唐尼主持的科技聚集剧集《The Age of A.I.》(《AI时代》),在剧中不仅顺利完成无人驾驶的行驶任务,还与围追堵截的摄像车“斗智斗勇”,在摄像车各种找拍摄角度的情况下,自动自我调整,化险为夷,避让既礼貌又安全! 图森未来(TuSimple)成立于2015年,是一家专注于L4级无人驾驶卡车技术研发与应用的人工智能企业,已经实现卡车在干线物流场景和半封闭枢纽场景下的无人干预驾驶。图森未来品牌旗下产品——图森未来 L4 级别无人驾驶卡车能够实现环境感知、定位导航、决策控制等自动驾驶核心功能,可应用于高速公路货运和港内集装箱码头运输及其相似场景。 公司于2019年9月完成总额2.15亿美元D轮融资,资方:UPS、鼎晖资本、万都中国、累计融资超过3亿美元,最新估值超过12亿美元,是卡车无人驾驶头部企业,也是全球第一家无人驾驶卡车独角兽企业。 图森未来的业务主要在美国和国内两地展开,在美国主要是高速公路干路货运场景,国内业务开始以连接枢纽场景的干线物流货运为主。 在美国,图森未来已经向包括UPS、USPS、McLane、U.S. Xpress在内的18家客户提供无人驾驶物流服务。 今年年初,图森未来的无人驾驶卡车还上了“钢铁侠”的扮演者小罗伯特·唐尼主持的科技聚集剧集《The Age of A.I.》(

「AI 完美复刻」的人物肖像画生成

只愿长相守 提交于 2020-11-28 04:17:55
点击上方 “ AI算法与图像处理 ”,选择加"星标"或“置顶” 重磅干货,第一时间送达 来源:Jack Cui 今年提出的 U^2-Net 显著性检测算法,刷爆了 reddit 和 twitter,号称是 2020 年「地表最强」的静态背景分割算法,可以看下效果: 你以为今天要讲分割? 错! U^2-Net 这两天又出 新活 ,在 U^2-Net 网络架构基础上,实现了 人物肖像画的生成 ,细节「完美」复刻。 我用自己的「歪脖子照」测试了下效果。 万年不变老规矩,继续手把手教学。 算法原理、环境搭建、效果实现, 一条龙服务 ,尽在下文! 1 U^2-Net 受 U-Net 网络的启发,U^2-Net 也是一种类似编码-解码(Encoder-Decoder)的网络结构。 研究者在此基础上,提出了新型残差 U-block(ReSidual U-block, RSU),融合不同尺寸接受野的特征,以捕获更多不同尺度的上下文信息。 RSU 网络与现有卷积块的结构对比如下: 最右边的结构,就是 RSU-L,L 表示编码器中的层数,C_in、C_out 分别表示输入和输出通道,M 表示 RSU 内层通道数。 具体而言,RSU 主要有三个组成部件,分别是一个输入卷积层、一个高度为 L 的类 U-Net 对称编码器 - 解码器结构以及一个通过求和来融合局部和多尺度特征的残差连接。

U^2-Net跨界肖像画,完美复刻人物细节,GitHub标星2.5K+

纵饮孤独 提交于 2020-11-27 12:27:46
来源 | Jack Cui 头图 | CSDN下载自视觉中国 今年提出的 U^2-Net 显著性检测算法,刷爆了 reddit 和 twitter,号称是 2020 年「地表最强」的静态背景分割算法,可以看下效果: 你以为今天要讲分割?错! U^2-Net 这两天又出新活,在 U^2-Net 网络架构基础上,实现了人物肖像画的生成,细节「完美」复刻。 我用自己的「歪脖子照」测试了下效果。 万年不变老规矩,继续手把手教学。 算法原理、环境搭建、效果实现,一条龙服务,尽在下文! U^2-Net 受 U-Net 网络的启发,U^2-Net 也是一种类似编码-解码(Encoder-Decoder)的网络结构。 研究者在此基础上,提出了新型残差 U-block(ReSidual U-block, RSU),融合不同尺寸接受野的特征,以捕获更多不同尺度的上下文信息。 RSU 网络与现有卷积块的结构对比如下: 最右边的结构,就是 RSU-L,L 表示编码器中的层数,C_in、C_out 分别表示输入和输出通道,M 表示 RSU 内层通道数。 具体而言,RSU 主要有三个组成部件,分别是一个输入卷积层、一个高度为 L 的类 U-Net 对称编码器 - 解码器结构以及一个通过求和来融合局部和多尺度特征的残差连接。 为了更好地理解设计理念,研究者在下图中对 RSU 与原始残差块进行了比较。 结果显示

torch same padding

醉酒当歌 提交于 2020-11-27 09:04:38
CNN中,增加Padding过后,为我们带来的那些负面影响。 如上图所示: 第一行为普通3x3卷积,步长1,padding 0, 第二行为普通3x3卷积,步长1,padding 1, 第三行为膨胀3x3卷积,dilation rate=3,步长1,padding 3. 上图箭头右向所指,为cnn底层在caffe 和darknet的底层实现,用c或c++,至于pytorch和tensorflow 是否也是这样实现cnn我不清楚,但是目前来讲,有效实现卷积的也就3种方式, im2col(上图) ,winograd, FFT,但是还是im2col比较常见,winograd好像是商汤最近几年提出来的,通过特殊数学计算方式,减少计算量,目前该方法被应用在腾讯移动端深度学习框架NCNN中,至于FFT,还没见到用在深度学习种。 至于为什么使用im2col,这还是贾清扬大神在写caffe时提出来的,因为图像中,一个块内的像素点在内存中是地址不连续的,所以对于同一个块内的像素想要缓存到cache上,可能出现多次内存访问,效率极低,所以设计出im2co方式,提前将需要计算的像素点放在连续地址上。 因此,对于同一图像,除了原始图像在内存中占空间,使用im2col又会消耗另一份空间。 如上图所示,对于8x8的图像: 不加padding,计算量为9x36=324, 内存消耗为8x8=64,有效内存为64