0728学习日志

1.        Matplotlib库并不是只能静态绘图。默认情况下,Matplotlib 处于阻塞模式(Non-interactive Mode),即调用 plt.plot() 后,必须手动关闭窗口后才能继续执行代码。而 plt.ion() 开启交互模式后,plt.plot() 会直接更新当前图表,代码无需等待窗口关闭即可继续执行,支持动态、实时绘图

示例:

import matplotlib.pyplot as plt

import numpy as np

plt.ion()  # 开启交互模式

X = np.linspace(0, 10, 100)  # 生成0到3之间的100个点

Y = np.sin(X)  # 计算每个点的正弦值  # 设置y轴范围

for i in range(100):

    plt.ylim(-1.5, 1.5)  # 动态更新y轴范围

    plt.plot(X,Y * np.sin(i*0.1))  # 动态更新图表

    plt.pause(0.1)  # 暂停0.1秒,给时间显示更新;若无 pause,可能看不到中间过程

    plt.clf()  # 清空图表,为下一次更新做准备

plt.ioff()  # 关闭交互模式(可选,恢复阻塞行为)

plt.show()  # 最后显示最终图表(非阻塞,仅展示)

2.        torchvision.datasets的transform是在__getitem__时对data应用,处理数据时要注意隐式逻辑

 3.     if __name__ == '__main__'会让 IDE 将程序识别为 “独立进程”, 这种识别会影响 IDE 的进程管理策略。

  1. 没有if __name__ == '__main__':时:
    IDE 可能将程序识别为交互式执行的代码(类似在 Python 控制台逐行输入代码),或非独立模块的代码片段
    部分 IDE(尤其是调试模式下)为了方便用户随时中断、查看变量,会将程序与 IDE 主线程绑定 —— 当你切到后台(IDE 窗口失去焦点),IDE 可能会暂时挂起这个绑定的线程以节省资源,或为了避免后台运行时用户无法及时响应调试操作(比如断点),从而表现为程序暂停
  2. if __name__ == '__main__':时:
    当主逻辑被包裹在这个条件下,IDE 会明确识别出这是一个独立运行的脚本,并为其启动一个独立的 Python 进程(而非绑定到 IDE 的主线程)。
    独立进程的运行不受 IDE 窗口焦点的影响 —— 即使你切到后台,操作系统会按正常进程调度规则继续执行该进程(除非系统资源极度紧张),因此程序会继续运行。

  if __name__ == '__main__':的作用是让 IDE 将程序识别为 “独立进程”,而非 “绑定到 IDE 的交互式代码”,从而避免了 IDE 因 “焦点切换” 而暂停程序的行为。这在训练模型时也许会节省大量的时间

4.        选择  数量的神经网络层宽度能提高计算效率。计算机通过地址总线对内存进行线性寻址,当层的宽度是 2 的幂次方时,在计算内存地址偏移量等操作上可以利用二进制的特性进行高效计算,契合了内存按块分配、满足对齐要求。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值