torch.nn.**和torch.nn.functional.**的区别

torch.nn.**

torch.nn.**是一个继承了torch.nn.Module的类,使用前必须先构造对象,然后再调用。如果直接使用则会报错

例如

bash 复制代码
a = torch.randn(3,4)
print(a)
sigmoid = torch.nn.Sigmoid()
a = sigmoid(a)
print(a)
a = torch.nn.Sigmoid(a)
bash 复制代码
tensor([[ 0.2462, -2.1680, -1.4064, -0.0268],
        [-0.4800, -0.4670,  1.7318,  0.3498],
        [ 0.0137, -2.1080, -0.0825, -0.1350]])
tensor([[0.5612, 0.1027, 0.1968, 0.4933],
        [0.3823, 0.3853, 0.8496, 0.5866],
        [0.5034, 0.1083, 0.4794, 0.4663]])
        Traceback (most recent call last):
        
Traceback (most recent call last):
  File "C:\文件\Llama\tmp.py", line 8, in <module>
    a = torch.nn.Sigmoid(a)
        ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\90929\AppData\Local\conda\conda\envs\lce\Lib\site-packages\torch\nn\modules\module.py", line 485, in __init__
    raise TypeError(
TypeError: Sigmoid.__init__() takes 1 positional argument but 2 were given

torch.nn.functional.**

torch.nn.functional.**是一个纯数学函数,可以直接使用

bash 复制代码
a = torch.randn(3,4)
print(a)
a = torch.nn.functional.sigmoid(a)
print(a)
bash 复制代码
tensor([[-0.1516,  0.5398,  0.3226, -0.4956],
        [-0.2250,  0.6393,  0.4432,  0.4215],
        [-0.5741,  0.0689,  0.3078, -1.5994]])
tensor([[0.4622, 0.6318, 0.5799, 0.3786],
        [0.4440, 0.6546, 0.6090, 0.6039],
        [0.3603, 0.5172, 0.5763, 0.1681]])
相关推荐
网络工程小王2 分钟前
【HCIE-AI】4.NLP 核心任务与技术演进学习笔记
人工智能·深度学习·自然语言处理·nlp·transformer
TechEdu2026068 分钟前
[通信与计算]线性代数:概念及其在通信中的应用
线性代数·机器学习·通信系统·信息通信
逻辑君1 小时前
科技逆向外语|20260805
人工智能·科技·机器学习
大模型码小白1 小时前
AI安全前沿:AI大模型安全防护的前沿技术
java·网络·人工智能·python·深度学习·学习·安全
hans汉斯11 小时前
《软件工程与应用》期刊推荐&10月版面征稿中
图像处理·人工智能·深度学习·算法·音视频·软件工程
泰迪智能科技0113 小时前
职业技术证书推荐:机器学习工程师证书
人工智能·机器学习
leoZ23118 小时前
Vue3 还原一个企业级后台-06-主布局设计
人工智能·opencv·机器学习·计算机视觉·数据挖掘·语音识别·caffe
雨晨源码(同名B站)19 小时前
基于深度学习YoloV11农业病害虫害检测系统 智慧农业信息化综合管理平台 (附源码+lw文档+ppt)
数据库·人工智能·深度学习·yolo·信息可视化
liuyunshengsir19 小时前
从 TVM 到 TileLang:一文读懂深度学习编译器为什么走向 Tile 化
人工智能·深度学习·tvm·tilelang
海天一色y19 小时前
GSPO:重新定义大语言模型的强化学习训练范式
人工智能·机器学习·语言模型