如何在TensorFlow中绘制指定输入区间内的激活函数2D图像
实现TensorFlow激活函数2D可视化(以Sigmoid为例)
嘿,我来帮你搞定这个需求!其实实现起来超简单,咱们用TensorFlow生成输入数据,再搭配Matplotlib绘图,就能做出和你想要的示例图风格一致的效果。下面是完整的步骤和代码:
1. 导入必要的库
首先得把TensorFlow和绘图用的Matplotlib导进来:
import tensorflow as tf import matplotlib.pyplot as plt
2. 生成输入区间数据
咱们选一个能完整展示sigmoid特性的输入区间(比如-10到10),生成足够多的点让曲线更平滑:
# 生成从-10到10的1000个均匀分布的输入点 x = tf.linspace(-10.0, 10.0, 1000)
3. 计算Sigmoid输出
用TensorFlow内置的sigmoid函数计算每个输入对应的输出值:
# 计算sigmoid激活后的输出 y = tf.nn.sigmoid(x)
4. 绘制并美化图像
接下来用Matplotlib把曲线画出来,调整样式让图更清晰美观,贴近你要的示例效果:
# 用seaborn风格让图的视觉效果更好 plt.style.use('seaborn-v0_8') # 绘制sigmoid曲线,设置线宽和颜色 plt.plot(x.numpy(), y.numpy(), linewidth=3, color='#1f77b4') # 添加标题和坐标轴标签 plt.title('Sigmoid Activation Function', fontsize=14) plt.xlabel('Input Value', fontsize=12) plt.ylabel('Output Value', fontsize=12) # 添加网格线,增强可读性 plt.grid(True, alpha=0.3) # 可选:添加sigmoid的数学公式到图中,更直观 plt.text(6, 0.8, r'$\sigma(x) = \frac{1}{1 + e^{-x}}$', fontsize=16) # 显示图像 plt.show()
扩展小技巧
- 如果想绘制其他激活函数(比如ReLU、Tanh),只需要把
tf.nn.sigmoid换成对应的函数即可,比如tf.nn.relu、tf.nn.tanh - 调整输入区间的话,修改
tf.linspace里的起始和结束值就行,比如改成-5到5或者更宽的范围 - 要是想调整曲线颜色、线宽或者添加更多标注,直接修改Matplotlib的相关参数就可以
内容的提问来源于stack exchange,提问作者Aref Riant
相关产品推荐
相关产品推荐

