120、Theano tensor 模块:nnet 子模块
本文最后更新于 68 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

Theano tensor 模块:nnet 子模块

nnettensor 模块中与神经网络 Neural Networks 相关的子模块。

import theano
from theano import tensor as T
Using gpu device 1: Tesla C2075 (CNMeM is disabled)

Sigmoid 函数

共有三种 sigmoid

  • T.nnet.sigmoid(x)
  • T.nnet.ultra_sigmoid(x)
  • T.nnet.hard_sigmoid(x)

精度和时间:

sigmoid > ultra_fast_sigmoid > hard_sigmoid

函数图像:

x, y, b = T.dvectors('x', 'y', 'b')
W = T.dmatrix('W')
y = T.nnet.sigmoid(T.dot(W, x) + b)

print theano.pprint(y)
sigmoid(((W \dot x) + b))

其他

T.nnet.softplus(x) 返回

$$\operatorname{softplus}(x) = \log_e{\left(1 + \exp(x)\right)}$$

会解决在 1 附近自定义函数值不准的问题。

x,y,b = T.dvectors('x','y','b')
W = T.dmatrix('W')
y = T.nnet.softplus(T.dot(W,x) + b)

print theano.pprint(y)
softplus(((W \dot x) + b))

T.nnet.softplus(x) 返回

image-20240308091538030

softmax 作用到矩阵时,它会按照行进行计算。

不过,下面
的代码计算性能上更加稳定:

e_x = exp(x - x.max(axis=1, keepdims=True))
out = e_x / e_x.sum(axis=1, keepdims=True)
x,y,b = T.dvectors('x','y','b')
W = T.dmatrix('W')
y = T.nnet.softmax(T.dot(W,x) + b)

print theano.pprint(y)
Softmax(((W \dot x) + b))

T.nnet.relu(x, alpha=0) 返回这样一个函数:

image-20240308091759921

损失函数

T.nnet.binary_crossentropy(output, target) 二类交叉熵:

image-20240308091812218

x, y, b, c = T.dvectors('x', 'y', 'b', 'c')
W = T.dmatrix('W')
V = T.dmatrix('V')
h = T.nnet.sigmoid(T.dot(W, x) + b)
x_recons = T.nnet.sigmoid(T.dot(V, h) + c)
recon_cost = T.nnet.binary_crossentropy(x_recons, x).mean()

T.nnet.categorical_crossentropy(coding_dist, true_dist) 多类交叉熵

image-20240308091827395

谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇