You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Google Colab中Keras Tuner TPU搜索的pop from empty list错误

问题原因

核心报错UnimplementedError: File system scheme '[local]' not implemented的根因是Google Cloud TPU没有访问Colab本地文件系统的权限,所有Keras Tuner生成的项目文件、模型检查点都必须存储在谷歌云存储(GCS)的存储桶中,这是TPU运行时的硬性要求。后续的IndexError是文件写入失败触发的上下文连锁异常,解决路径问题后会自动消失。

操作步骤
  • 第一步:创建GCS存储桶
    登录谷歌云控制台,进入云存储页面,创建一个存储桶,存储类选标准、区域选和你Colab TPU运行时一致的区域(比如us-central1),存储桶名称需全局唯一。
  • 第二步:Colab授权访问GCS
    在TPU运行时的代码最开头运行授权代码:
    from google.colab import auth
    auth.authenticate_user()
    
    按照弹出的提示完成账号授权,让Colab有权限读写你创建的GCS存储桶。
  • 第三步:修改Keras Tuner存储路径
    将Keras Tuner初始化参数中的存储路径替换为GCS路径,格式为gs://<你的存储桶名称>/<自定义文件夹名>,示例修改如下:
    with strategy.scope():
        tuner = kt.tuners.BayesianOptimization(post_se,
            objective='val_accuracy',
            max_trials=30,
            seed=42,
            directory='gs://<替换为你的存储桶名>/kerastuner_workspace', # 新增参数指定GCS根路径
            project_name='Model_tpu')
        tuner.search(X_train, train_label, epochs=200, validation_split=0.1, shuffle=True, callbacks=[tensorflow.keras.callbacks.EarlyStopping('val_loss', patience=30)])
    
  • 第四步:可选适配其他文件操作
    如果你自行添加了ModelCheckpoint等涉及文件存储的回调,也要把保存路径修改为GCS路径,不能使用Colab本地的/content/类路径。如果训练数据体量较大,也建议提前上传到GCS存储桶,用gs://前缀的路径读取,避免TPU读取本地数据报错。
额外注意事项

你当前代码中已经将TPU的学习率设为GPU的8倍,符合TPU v2/v3 8核配置的优化策略,无需调整。

内容的提问来源于stack exchange,提问作者Nahian Rifaat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 15:06:07