PyTorch面试精华


1 PyTorch全局设置

    1.1  全局设置当前设备

    1.2  全局设置浮点精度

    1.3  设置控制台输出格式

2 向量与梯度之核心

    2.1  Tensor的组成与存储

    2.2  Tensor的grad属性

    2.3  Tensor内存布局的调整

    2.4  Tensor的叠加

    2.5  禁用梯度计算

    2.6  向量的保存和加载

    2.7  梯度消失与梯度爆炸

3 神经网络基础

    3.1  线性网络的参数以及初始化

    3.2  PyTorch计算图

    3.3  查看网络权重参数

    3.4  保存模型

    3.5  Adam相关面试题

    3.6  ReLu与非线性的理解

    3.7  Train模式和Eval模式

    3.8  线性网络

    3.9  双线性网络

    3.10  惰性线性层

    3.11  参数向量

    3.12  叶子节点

    3.13  自动求导与链式求导

    3.14  Dropout机制

    3.15  detach原理

    3.16  半精度训练

    3.17  Xavier初始化

    3.18  通道的深刻理解

    3.19  1x1卷积的作用

    3.20  注意力机制

    3.21  requires_grad属性

    3.22  向量的device

    3.23  tensor与numpy互换

    3.24  DataParallel用法详解

    3.25  to(device)和.cuda()的区别

    3.26  Dataset数据处理

    3.27  StepLR学习率调度器

    3.28  词嵌入的理解

    3.29  特征提取和可视化

    3.30  TensorDataset的使用

tensor与numpy互换

创建时间:2024-09-15 | 更新时间:2024-09-15 | 阅读次数:1013 次

飞燕提醒:tensor类型转为numpy类型,要注意使用detach()函数,将张量从GPU设备迁移到CPU设备上。此处照应了本教程中《detach原理》相关小节的内容。

在做AI业务开发时候,常常需要PyTorch的tensor类型和numpy类型进行转换,下面给大家介绍一下两者的转换过程。

首先,导入需要使用的包:

import numpy as np
import torch

然后,创建一个numpy类型的数组:

x = np.ones(3)
print(type(x))

这里创建了一个一维的数组,3个都为1,我们打印一下这个x的类型显示如下:

<class "numpy.ndarray">

1、numpy类型转为tensor类型

用下面的代码将上述的x转换成tensor类型:

y = torch.tensor(x)
print(type(x))

这个打印的结果是:

<class "torch.Tensor">

当然,也可以使用:

y = torch.from_numpy(x)

2、tensor类型转为numpy类型

import torch
x = torch.ones(3)
y = x.detach().numpy()

也可以使用:

y = x.numpy()
本教程共40节,当前为第33节!