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 小时前
[机器学习]XGBoost(3)——确定树的结构
人工智能·机器学习
靴子学长3 小时前
基于字节大模型的论文翻译(含免费源码)
人工智能·深度学习·nlp
海棠AI实验室5 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
IT古董5 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
四口鲸鱼爱吃盐6 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
睡觉狂魔er6 小时前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶
scan7246 小时前
LILAC采样算法
人工智能·算法·机器学习
leaf_leaves_leaf6 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零16 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
菌菌的快乐生活6 小时前
理解支持向量机
算法·机器学习·支持向量机