pytorch

PyTorch中scatter和gather的用法

青春壹個敷衍的年華 提交于 2020-11-14 07:38:04
PyTorch中scatter和gather的用法 闲扯 许久没有更新博客了,2019年总体上看是荒废的,没有做出什么东西,明年春天就要开始准备实习了,虽然不找算法岗的工作,但是还是准备在2019年的最后一个半月认真整理一下自己学习的机器学习和深度学习的知识。 scatter的用法 scatter中文翻译为散射,首先看一个例子来直观感受一下这个API的功能,使用pytorch官网提供的例子。 import torch import torch.nn as nn x = torch.rand(2,5) x tensor([[0.2656, 0.5364, 0.8568, 0.5845, 0.2289], [0.0010, 0.8101, 0.5491, 0.6514, 0.7295]]) y = torch.zeros(3,5) index = torch.tensor([[0,1,2,0,0],[2,0,0,1,2]]) index tensor([[0, 1, 2, 0, 0], [2, 0, 0, 1, 2]]) y.scatter_(dim=0,index=index,src=x) y tensor([[0.2656, 0.8101, 0.5491, 0.5845, 0.2289], [0.0000, 0.5364, 0.0000, 0.6514, 0.0000], [0

蚂蚁集团-算法专家/高级专家杭州/北京/上海

假如想象 提交于 2020-11-13 13:32:28
面试速度快!HC充足! 蚂蚁集团-算法专家/高级专家杭州/北京/上海 职位要求: 1、 面向花呗、借呗、网商银行、芝麻信用、财富平台实际业务应用,开发基于大数据、大规模分布式集群的传统机器学习建模和深度学习建模; 2、 算法产品化建设,参与模型在线实时计算框架开发落地; 3、 算法研究和创新,研究成果与业务场景相结合; 4、 特征工程开发及应用。 职位描述 1、 计算机、数学、统计学、软件工程、电子信息等相关专业背景,硕士及以上学历; 2、 在智能营销、搜索、推荐、广告、知识图谱、用户画像、自然语言处理等方向有两年以上实际工作经验,对上述方向至少其中之一有深入研究; 3、 精通传统机器学习算法、深度学习算法建模,深入了解算法优化方法,具备独立编码建模能力; 4、 熟悉至少一种主流深度学习训练框架(Keras/Tensorflow/PyTorch); 5、 熟练使用C/C++、Python、Java中的至少一种编程语言,熟悉多线程编程,内存管理,设计模式,熟悉Linux开发环境; 6、 熟悉Hadoop,MapReduce等分布式并行处理技术,具备 Storm、Flink、Spark等大数据开发实施经验,熟练Hive SQL语言。 蚂蚁集团-内容推荐算法 我们是蚂蚁金融数字金融线的内容算法团队,负责蚂蚁财富、保险、微贷等金融场景中等内容分发、内容带货和内容智能生产算法。在这里

Pytorch的gather用法理解

青春壹個敷衍的年華 提交于 2020-11-13 07:33:50
先放一张表,可以看成是二维数组 行(列)索引 索引0 索引1 索引2 索引3 索引0 0 1 2 3 索引1 4 5 6 7 索引2 8 9 10 11 索引3 12 13 14 15 看一下下面例子代码: 针对0维(输出为行形式) >>> import torch as t >>> a = t.arange(0,16).view(4,4) >>> a tensor([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15]]) #选取对角线的元素 >>> index = t.LongTensor([[0,1,2,3]]) >>> a.gather(0,index) tensor([[ 0, 5, 10, 15]]) 如何理解结果呢?其实很简单,就是a.gather(0,index)中第一个0已经表明输出结果是行形式(0维),如果第一个是1说明输出结果是列形式(1维),然后按照** index = tensor([[0, 1, 2, 3]]) 顺序 作用在行上 索引依次为 0,1,2,3**: a[ 0 ][0] = 0 a[ 1 ][1] = 5 a[ 2 ][2] = 10 a[ 3 ][3] = 15 针对0维 # 选取反对角线上的元素,注意与上面的不同 >>> index2 = t.LongTensor(

Win10+libtorch1.1+opencv 笔记

不打扰是莪最后的温柔 提交于 2020-11-12 09:50:27
这几天刚刚把libtorch加载模型弄明白,记录一下。 1、正确安装VS2017+opencv+cmake +pytorch 1.1 2、官网下载libtorch cpu 1.1版本(注意pytorch与libtorch版本一致) 3、pytorch 导出模型 import torch from torchvision import models model = models.resnet18() #导入已经训练好的模型 #state = torch.load('latest.pt') #model.load_state_dict(state['model_state_dict'], strict=True) #注意模型输入的尺寸 example = torch.rand(1, 3, 224, 224) model = model.eval() traced_script_module = torch.jit.trace(model, example) output = traced_script_module(torch.ones(1,3,224,224)) traced_script_module.save("model.pt") 4、cmake 编写 cmake_minimum_required(VERSION 3.14 FATAL_ERROR) project(custom