def softmax(logits, axis=None, name=None):
'''
Computes softmax activations.
This function performs the equivalent of
softmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), axis)
'''
import tensorflow as tf
# 用正态分布来模拟100个样本的预测结果,可以认为是100个MNIST样本
# out = tf.random.normal([100,10])
out = tf.constant([[1.,2,3],
[2,0,1]])
# 计算每一行转换为概率,输出
exp = tf.exp(out)
'''输出
tf.Tensor(
[[ 2.71828177.38905620.085537 ]
[ 7.3890561.2.7182817]], shape=(2, 3), dtype=float32)'''
sum = tf.reduce_sum(exp,axis=1)
'''输出
tf.Tensor([30.192875 11.107338], shape=(2,), dtype=float32)
'''
out = tf.nn.softmax(out, axis=1)
'''输出
tf.Tensor(
[[0.09003057 0.24472848 0.66524094]
[0.66524090.09003057 0.24472846]], shape=(2, 3), dtype=float32)
tf.Tensor([2 0], shape=(2,), dtype=int64)'''
运算过程:
文章图片
文章图片
【Tensorflow 张量运算(tf.softmax())】
文章图片
推荐阅读
- Keras|将Pytorch模型迁移到android端(android studio)【未实现】
- Tensorflow|Tensorflow学习笔记----梯度下降
- Tensorflow【branch-官网代码实践-Eager/tf.data/Keras/Graph】_8.19
- nlp|Keras(十一)梯度带(GradientTape)的基本使用方法,与tf.keras结合使用
- tensorflow|tf1.x究竟到底如何如何使用Embedding?
- python|Keras TensorFlow 验证码识别(附数据集)
- AI|bert实现端到端继续预训练
- Tensorflow|cuda由7.0升级到8.0
- tensorflow|利用Tensorflow的队列多线程读取数据
- 深度学习|conda源,tensorflow2,pytorch安装