【ERROR】FailedPreconditionError: checkpoint is not a directory

简介: 【ERROR】FailedPreconditionError: checkpoint is not a directory

贴一段代码:

import tensorflow as tf
import os
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics=['sparse_categorical_accuracy'])
checkpoint_save_path = "./checkpoint/mnist.ckpt"
if os.path.exists(checkpoint_save_path + '.index'):
    print('-------------load the model-----------------')
    model.load_weights(checkpoint_save_path)
cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_save_path,
                                                 save_weights_only=True,
                                                 save_best_only=True)
history = model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test, y_test), validation_freq=1,
                    callbacks=[cp_callback])
model.summary()

这是北大公开课tensorflow笔记的代码,一个字没改。

在python3.10.11+tensorflow2.12.0的组合下,一直报错:

Epoch 1/5
1854/1875 [============================>.] - ETA: 0s - loss: 0.2607 - sparse_categorical_accuracy: 0.9253
FailedPreconditionError: checkpoint is not a directory

手动创建文件夹目录也没辙,一直报这个错。

将版本换回python3.7+tensorflow2.1,成功运行。

后来我拿python3.10.11+tensorflow2.12.0的组合跑tensorflow的官方案例,也报同样的错误。

好家伙。我一贯的风格就是能用最新版就直接上最新版,这一波操作直接把我整懵逼了,不过版本这玩意儿不应该向下兼容的嘛?

能力不够,没去扒tensorflow的源码,所以不知道这个报错啥情况也没法修改。

记录一下,免得后人再踩坑,有人碰到类似的情况,或者除了换版本有更好的解决办法,麻烦踢我一下。

目录
相关文章
|
运维 Devops Java
阿里巴巴DevOps实践指南(十三)| 测试提效
分布式测试为测试速度插上了翅膀,精准测试有效的识别出了测试的范围,增量覆盖率又为测试的不断完备提供了有利的指引,线上覆盖率帮助我们有效的进行应用瘦身。充分利用好这些技术手段进行测试提效,可以让持续交付的过程更加的顺畅
阿里巴巴DevOps实践指南(十三)| 测试提效
|
缓存 NoSQL Dubbo
springcloud微服务国际化
springcloud微服务国际化
724 0
|
11月前
|
机器学习/深度学习 自然语言处理 PyTorch
LLM-Mixer: 融合多尺度时间序列分解与预训练模型,可以精准捕捉短期波动与长期趋势
近年来,大型语言模型(LLMs)在自然语言处理领域取得显著进展,研究人员开始探索将其应用于时间序列预测。Jin等人提出了LLM-Mixer框架,通过多尺度时间序列分解和预训练的LLMs,有效捕捉时间序列数据中的短期波动和长期趋势,提高了预测精度。实验结果显示,LLM-Mixer在多个基准数据集上优于现有方法,展示了其在时间序列预测任务中的巨大潜力。
281 3
LLM-Mixer: 融合多尺度时间序列分解与预训练模型,可以精准捕捉短期波动与长期趋势
WordPress更新提示无法创建目录的解决方案
WordPress更新提示无法创建目录的解决方案
431 0
|
3月前
|
负载均衡 Java API
基于 Spring Cloud 的微服务架构分析
Spring Cloud 是一个基于 Spring Boot 的微服务框架,提供全套分布式系统解决方案。它整合了 Netflix、Zookeeper 等成熟技术,通过简化配置和开发流程,支持服务发现(Eureka)、负载均衡(Ribbon)、断路器(Hystrix)、API网关(Zuul)、配置管理(Config)等功能。此外,Spring Cloud 还兼容 Nacos、Consul、Etcd 等注册中心,满足不同场景需求。其核心组件如 Feign 和 Stream,进一步增强了服务调用与消息处理能力,为开发者提供了一站式微服务开发工具包。
469 0
|
11月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
177 2
|
Docker Python Windows
pycharm使用fastapi/uvicorn无法reload的问题
这篇文章讨论了在PyCharm中使用FastAPI和uvicorn时遇到的无法快速重载的问题,并提供了包括降级uvicorn版本和使用命令行运行等解决方法。
pycharm使用fastapi/uvicorn无法reload的问题
|
人工智能 Cloud Native 大数据
构建高性能云原生大数据处理平台:融合人工智能优化数据分析流程
构建高性能云原生大数据处理平台:融合人工智能优化数据分析流程
650 0
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
【大语言模型-论文精读】谷歌-BERT:用于语言理解的预训练深度双向Transformers
【大语言模型-论文精读】谷歌-BERT:用于语言理解的预训练深度双向Transformers
898 1