Windows环境TensorFlow-GPU生成SavedModel(.pb)时遇权限拒绝错误
解决Windows下TensorFlow-GPU导出SavedModel时的权限拒绝错误
我正尝试在Python的TensorFlow中创建SavedModel(*.pb)文件,以便在Java环境中使用。但运行以下代码时出现权限拒绝错误,当前在Windows机器上使用TensorFlow-GPU。
import cv2 import tensorflow as tf import os import numpy as np from imutils import paths from keras.preprocessing.image import img_to_array def load_data(data_dir): imagePaths = sorted(list(paths.list_images(data_dir))) print("[INFO] loading images...") data = [] labels ...
可能的原因及解决办法
- 目标保存路径权限不足:Windows系统中,若将SavedModel保存到系统级目录(如
C:\Program Files)或需要管理员权限的文件夹,很容易触发权限拒绝。建议切换到普通用户拥有完整读写权限的目录,比如用户文档文件夹:# 示例:指定用户目录下的模型保存路径 save_dir = os.path.join(os.path.expanduser("~"), "Documents", "tf_saved_models") os.makedirs(save_dir, exist_ok=True) # 确保目录存在 tf.saved_model.save(your_tf_model, os.path.join(save_dir, "my_keras_model")) - 模型文件被占用:如果目标路径下已有同名的SavedModel文件夹,且该文件夹正被其他进程占用(比如之前的Python进程未正常关闭,或者Java程序正在读取该模型),也会导致权限错误。先关闭相关进程,手动删除旧的模型文件夹后再重新执行保存操作。
- 以管理员身份运行程序:TensorFlow-GPU的部分操作可能需要额外系统权限,右键点击你的Python IDE(如PyCharm、VS Code)或命令提示符,选择以管理员身份运行,再执行导出代码试试。
- 避免路径中的特殊字符:Windows对包含中文、空格或特殊符号的路径处理容易出问题,尽量使用纯英文、无空格的路径,比如
C:\tf_models\my_saved_model。
内容的提问来源于stack exchange,提问作者Kinley Wangyel
相关产品推荐
相关产品推荐

