如何避免每次运行VSCode程序时重复加载数据
解决VSCode中重复加载大数据的问题
方案1:用VSCode的交互式单元格拆分代码
把代码按功能拆成独立的Jupyter单元格,数据加载只跑一次,后续调试代码反复运行就行:
- 在数据加载代码前加
# %%,后面的调试代码也单独用# %%分割 - 点击数据加载单元格的运行按钮,加载完成后,就可以反复运行后面的调试单元格,数据会一直保存在当前会话里
示例代码:
# %% 数据加载(仅运行一次) import h5py import numpy as np with h5py.File('Galaxy10_DECals.h5', 'r') as F: images = np.array(F['images']) labels = np.array(F['ans']) # %% 调试代码(可反复运行) # 这里放你要修改调试的逻辑,比如数据预处理、模型测试 print(images.shape, labels.shape) # 其他业务代码...
方案2:把数据加载做成独立模块缓存
- 新建一个
data_loader.py文件,把数据加载逻辑写进去,用全局变量存储加载好的数据 - 主代码里直接导入这个模块的变量,第一次导入时加载数据,之后再导入就直接用缓存好的内容
data_loader.py代码:
import h5py import numpy as np # 导入模块时自动加载数据,后续导入直接用已加载的变量 with h5py.File('Galaxy10_DECals.h5', 'r') as F: images = np.array(F['images']) labels = np.array(F['ans'])
主代码:
from data_loader import images, labels # 这里写你的调试代码,每次运行主文件都不会重复加载数据
注意:如果要重新加载数据,需要重启VSCode的Python内核(点击右上角的"重启内核"按钮)。
方案3:调试时跳过数据加载步骤
- 启动调试会话后,在数据加载完成的下一行设置断点,第一次运行到断点后,后续调试直接用"继续运行"或者"运行到光标处",跳过前面的加载流程
- 也可以重启调试后,直接把调试执行箭头拖到数据加载完成的代码行,从那里开始运行
内容的提问来源于stack exchange,提问作者andr
相关产品推荐
相关产品推荐

