---
title: Linear
description: "对输入tensor进行线性变换，目前KuDNN支持torch.int8、torch.float16和torch.float32数据类型，其他数据类型会走开源分支。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_203.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_203.html
indexId: cccd7573ddf8e9eff8f4e9951a8d50b3d025ea17d8e2f75cfa122ef6c355924e67
---
# Linear

#### 场景说明

对输入tensor进行线性变换，目前KuDNN支持torch.int8、torch.float16和torch.float32数据类型，其他数据类型会走开源分支。


#### 示例代码

```
import torch
import torch.nn as nn
#使能KuDNN
torch._C._set_kdnn_enabled(True)

# linear示例，
# 输入数据: (batch, in_features)，默认数据类型torch.float32
input_tensor = torch.randn(128, 20)

# 构造linear层
linear = nn.Linear(20, 30, bias=True) # input_feature为20， output_feature为30

#前向计算
output_tensor = linear(input_tensor) # output_tensor shape 为 [128,30]

# 打印输出的形状和数值
print("linear输出形状", output_tensor.shape)
print(ouput_tensor)
```
