torch

How to convert a list of tensors into a torch::Tensor?

∥☆過路亽.° 提交于 2021-02-10 04:21:07
问题 I'm trying to convert the following Python code into its equivalent libtorch: tfm = np.float32([[A[0, 0], A[1, 0], A[2, 0]], [A[0, 1], A[1, 1], A[2, 1]] ]) In Pytorch we could simply use torch.stack or simply use a torch.tensor() like below: tfm = torch.tensor([[A_tensor[0,0], A_tensor[1,0],0], [A_tensor[0,1], A_tensor[1,1],0] ]) However, in libtorch, this doesn't hold, that is I can not simply do: auto tfm = torch::tensor ({{A.index({0,0}), A.index({1,0}), A.index({2,0})}, {A.index({0,1}), A

[NLP-CNN] Convolutional Neural Networks for Sentence Classification -2014-EMNLP

蹲街弑〆低调 提交于 2021-02-08 14:52:08
1. Overview 本文将CNN用于句子分类任务 (1) 使用静态vector + CNN即可取得很好的效果;=> 这表明预训练的vector是universal的特征提取器,可以被用于多种分类任务中。 (2) 根据特定任务进行fine-tuning 的vector + CNN 取得了更好的效果。 (3) 改进模型架构,使得可以使用 task-specific 和 static 的vector。 (4) 在7项任务中的4项取得了SOTA的效果。 思考:卷积神经网络的核心思想是捕获局部特征。在图像领域,由于图像本身具有局部相关性,因此,CNN是一个较为适用的特征提取器。在NLP中,可以将一段文本n-gram看做一个有相近特征的片段——窗口,因而希望通过CNN来捕获这个滑动窗口内的局部特征。卷积神经网络的优势在于可以对这样的n-gram特征进行组合和筛选,获取不同的抽象层次的语义信息。 2. Model 对于该模型,主要注意三点: 1. 如何应用的CNN,即在文本中如何使用CNN 2. 如何将static和fine-tuned vector结合在一个架构中 3. 正则化的策略 本文的思路是比较简单的。 2.1 CNN的应用 <1> feature map 的获取 word vector 是k维,sentence length = n (padded)

Pytorch安装(基于anaconda虚拟环境)

烂漫一生 提交于 2021-02-08 07:23:36
Pytorch安装倒腾了一上午终于搞定,记录一下安装过程. 1. 首先尝试官网的安装方式,但是网速太慢了. 除去 cudnn100 , t orchvision 和 pytorch 三个文件,其余可以直接从清华镜像源下载.   这三个包直接进入 官网, 使用多线程(我用idm下载的,最好在挂个代理或者VPN)下载后,离线安装.离线安装命令: conda install --use-local Pkg_name 2. 安装完成后报错,拷贝系统lib目录下相关文件到需求路径,测试成功. 执行如下代码,需要根据安装路径适当调整: cp /usr/lib/libstdc++.so. 6 /opt/anaconda/envs/torch_36/lib/python3. 6 /site-packages/torch/lib/ cp /usr/lib/libgomp.so. 1 /opt/anaconda/envs/torch_36/lib/python3. 6 /site-packages/torch/lib/ 拷贝完毕后进行测试,如下: 这样子测试GPU: torch.cuda.is_available() 更新时间:2019-1-24 上面一个一个安装太费事了,还是新建一个虚拟环境,直接用 pip install -r requirements.txt 比较方便.其中torch下载太慢了

中阶API建模范例

扶醉桌前 提交于 2021-02-08 05:56:07
公众号后台回复关键字: Pytorch ,获取项目github地址。 Pytorch的层次结构从低到高可以分成如下五层。 最底层为硬件层,Pytorch支持CPU、GPU加入计算资源池。 第二层为C++实现的内核。 第三层为Python实现的操作符,提供了封装C++内核的低级API指令,主要包括各种张量操作算子、自动微分、变量管理. 如torch.tensor,torch.cat,torch.autograd.grad,nn.Module. 如果把模型比作一个房子,那么第三层API就是【模型之砖】。 第四层为Python实现的模型组件,对低级API进行了函数封装,主要包括各种模型层,损失函数,优化器,数据管道等等。如torch.nn.Linear,torch.nn.BCE,torch.optim.Adam,torch.utils.data.DataLoader. 如果把模型比作一个房子,那么第四层API就是【模型之墙】。 第五层为Python实现的模型接口。Pytorch没有官方的高阶API。为了便于训练模型,作者仿照keras中的模型接口,使用了不到300行代码,封装了Pytorch的高阶模型接口torchkeras.Model。如果把模型比作一个房子,那么第五层API就是模型本身,即【模型之屋】。 我们将以线性回归和DNN二分类模型为例,直观对比展示在不同层级实现模型的特点。

How to convert a list or numpy array to a 1d torch tensor?

為{幸葍}努か 提交于 2021-02-06 15:31:40
问题 I have a list (or, a numpy array) of float values. I want to create a 1d torch tensor that will contain all those values. I can create the torch tensor and run a loop to store the values. But I want to know is there any way, I can create a torch tensor with initial values from a list or array? Also suggest me if there is any pythonic way to achieve this as I am working in pytorch. 回答1: These are general operations in pytorch and available in the documentation. PyTorch allows easy interfacing

How to convert a list or numpy array to a 1d torch tensor?

我只是一个虾纸丫 提交于 2021-02-06 15:30:12
问题 I have a list (or, a numpy array) of float values. I want to create a 1d torch tensor that will contain all those values. I can create the torch tensor and run a loop to store the values. But I want to know is there any way, I can create a torch tensor with initial values from a list or array? Also suggest me if there is any pythonic way to achieve this as I am working in pytorch. 回答1: These are general operations in pytorch and available in the documentation. PyTorch allows easy interfacing

torch.cuda.is_avaiable returns False with nvidia-smi not working

淺唱寂寞╮ 提交于 2021-02-05 10:43:33
问题 I'm trying to build a docker image that can run using GPUS, this my situation: I have python 3.6 and I am starting from image nvidia/cuda:10.0-cudnn7-devel. Torch does not see my GPUs. nvidia-smi is not working too, returning error: > Failed to initialize NVML: Unknown Error > The command '/bin/sh -c nvidia-smi' returned a non-zero code: 255 I installed nvidia toolkit and nvidia-smi with RUN apt install nvidia-cuda-toolkit -y RUN apt-get install nvidia-utils-410 -y 回答1: I figured out the

深度学习框架PyTorch的技巧总结

邮差的信 提交于 2021-02-02 10:44:02
1.在训练模型时指定GPU的编号 设置当前使用的GPU设备仅为0号设备,设备名称为"/gpu:0", os.environ["CUDA_VISIBLE_DEVICES"]="0" ; 设置当前使用的GPU设备为0,1两个设备,名称依次为"/gpu:0","/gpu:1", os.environ["CUDA_VISIBLE_DEVICES"]="0,1" ;根据顺序优先表示使用0号设备,然后使用1号设备; 同样,也可以在训练脚本外面指定, CUDA_VISIBLE_DEVICES=0,1 python train.py ,注意,如果此时使用的是8卡中的6和7, CUDA_VISIBLE_DEVICES=6,7 python train.py ,但是在模型并行化的时候,仍然指定0和1, model=nn.DataParallel(mode, devices=[0,1] ; 在这里,需要注意的是,指定GPU的命令需要放在和网络模型操作的最前面; 2.查看模型每层的输如输出详情 1.需要安装torchsummary或者torchsummaryX(pip install torchsummary); 2.使用示例如下: from torchvision import models vgg16 = models . vgg16 ( ) vgg16 = vgg16 . cuda ( ) # 1

How to solve GTest and LibTorch linkage conflict

爷,独闯天下 提交于 2021-01-29 09:32:55
问题 This question follows my precedent one. I'm writing a C++ program with OpenCV, Torch and NumCpp. The program compiles and works fine for now, but I need to write unit tests. I've followed google's tutorial to build GTest and GMock inside my project, but it fails. When I don't link Torch libraries, that works. Error when linking GTest + Torch : /usr/bin/ld: CMakeFiles/TryGTest_test.dir/test/boxTest.cpp.o: in function `testing::AssertionResult testing::internal::CmpHelperEQFailure<int, int>

ModuleNotFoundError: No module named 'torch.utils.serialization'

二次信任 提交于 2021-01-27 21:55:33
问题 When I run a project used Pytorch I came up with this error: Traceback (most recent call last): File "train_drnet.py", line 10, in <module> import utils File "/home/muse/drnet-py/utils.py", line 18, in <module> from data.kth import KTH File "/home/muse/drnet-py/data/kth.py", line 7, in <module> from torch.utils.serialization import load_lua ModuleNotFoundError: No module named 'torch.utils.serialization' how to solve this,please? 回答1: I think it was removed from Pytorch about a year ago, you