深度学习 %matplotlib inline

%matplotlib inline 是在 Jupyter Notebook 中使用的一个魔法命令,主要用于配置 Matplotlib 图形的显示方式。具体来说,这个命令的作用是将 Matplotlib 生成的图形直接嵌入到 notebook 中,而不是在弹出的窗口中显示。

使用方法

在 Jupyter Notebook 的代码单元中输入以下命令:

复制代码
%matplotlib inline

作用

  • 内嵌显示:执行后,所有使用 Matplotlib 绘制的图形会直接显示在代码单元下方。
  • 方便展示:适合于数据分析、可视化和教学等场景,可以方便地展示图形,而无需额外窗口。

示例

下面是一个简单的例子,演示如何使用 %matplotlib inline

复制代码
import matplotlib.pyplot as plt
import numpy as np

# 启用 inline 模式
%matplotlib inline

# 创建数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 绘制图形
plt.plot(x, y)
plt.title("Sine Wave")
plt.xlabel("x")
plt.ylabel("sin(x)")
plt.show()

结果

运行上述代码后,会看到一个正弦波图形直接显示在 Jupyter Notebook 中。

线性回归从0开始:

首先,导入所需的包或模块:

复制代码
%matplotlib inline 
from IPython import display 
from matplotlib import pyplot as plt 
from mxnet import autograd,nd 
import random

代码解释

  1. %matplotlib inline:

    • 这是一个魔法命令,用于在 Jupyter Notebook 中直接显示 Matplotlib 绘制的图形,而不需要调用 plt.show()
  2. from IPython import display:

    • 这个模块提供了在 Jupyter Notebook 中显示各种媒体类型的工具,包括图像、视频和 HTML 内容。
  3. from matplotlib import pyplot as plt:

    • Matplotlib 是一个用于绘制图形的库,pyplot 提供了一系列方便的函数,使 Matplotlib 的使用类似于 MATLAB。
  4. from mxnet import autograd, nd:

    • MXNet 是一个深度学习框架。
      • autograd 用于自动微分,适合构建和训练神经网络。
      • nd 是一个类似于 NumPy 的多维数组类,但针对 GPU 进行了优化。
  5. import random:

    • Python 内置的随机库,用于生成随机数和执行随机操作,例如打乱列表或选择随机元素。

    导入库

    %matplotlib inline
    from IPython import display
    from matplotlib import pyplot as plt
    from mxnet import autograd, nd
    import random

    生成随机数据

    x = nd.array([random.uniform(0, 10) for _ in range(100)]) # 生成100个随机x值
    y = nd.array([2.5 * xi + random.uniform(-1, 1) for xi in x]) # 线性关系 y = 2.5x + 噪声

    创建简单的线性回归模型

    W = nd.random_normal(shape=(1,), ctx=x.context) # 初始化权重
    b = nd.random_normal(shape=(1,), ctx=x.context) # 初始化偏置

    定义损失函数

    def loss(y_true, y_pred):
    return ((y_true - y_pred) ** 2).mean() # 均方误差

    训练模型

    learning_rate = 0.01
    for epoch in range(10):
    with autograd.record(): # 开始记录梯度
    y_pred = W * x + b # 线性模型
    l = loss(y, y_pred) # 计算损失
    l.backward() # 反向传播
    W[:] -= learning_rate * W.grad # 更新权重
    b[:] -= learning_rate * b.grad # 更新偏置

    复制代码
     print(f'第 {epoch + 1} 轮, 损失: {l.asscalar()}')  # 输出当前损失

    可视化结果

    plt.scatter(x.asnumpy(), y.asnumpy(), color='blue', label='数据点') # 绘制数据点
    plt.plot(x.asnumpy(), (W * x + b).asnumpy(), color='red', label='拟合直线') # 绘制拟合直线
    plt.title('线性回归示例')
    plt.xlabel('x')
    plt.ylabel('y')
    plt.legend()
    plt.show() # 显示图形

示例代码说明

  • 生成数据:随机生成100个数据点,模拟一个线性关系 ( y = 2.5x + \text{噪声} )。
  • 线性回归模型:定义一个简单的线性回归模型,使用梯度下降法进行训练。
  • 可视化结果:使用 Matplotlib 绘制数据点和拟合的直线。
相关推荐
天涯海风1 小时前
检索增强生成(RAG) 缓存增强生成(CAG) 生成中检索(RICHES) 知识库增强语言模型(KBLAM)
人工智能·缓存·语言模型
lxmyzzs2 小时前
基于深度学习CenterPoint的3D目标检测部署实战
人工智能·深度学习·目标检测·自动驾驶·ros·激光雷达·3d目标检测
跟着珅聪学java3 小时前
Apache OpenNLP简介
人工智能·知识图谱
AwhiteV3 小时前
利用图数据库高效解决 Text2sql 任务中表结构复杂时占用过多大模型上下文的问题
数据库·人工智能·自然语言处理·oracle·大模型·text2sql
Black_Rock_br3 小时前
AI on Mac, Your Way!全本地化智能代理,隐私与性能兼得
人工智能·macos
☺����4 小时前
实现自己的AI视频监控系统-第一章-视频拉流与解码2
开发语言·人工智能·python·音视频
fsnine4 小时前
机器学习——数据清洗
人工智能·机器学习
小猿姐5 小时前
KubeBlocks AI:AI时代的云原生数据库运维探索
数据库·人工智能·云原生·kubeblocks
算法_小学生5 小时前
循环神经网络(RNN, Recurrent Neural Network)
人工智能·rnn·深度学习
吱吱企业安全通讯软件6 小时前
吱吱企业通讯软件保证内部通讯安全,搭建数字安全体系
大数据·网络·人工智能·安全·信息与通信·吱吱办公通讯