tf.keras save_model иногда работает, а иногда нет - PullRequest
1 голос
/ 25 февраля 2020

NotFoundError: Не удалось создать каталог: fashion_mnist_model0 / variable; Нет такого файла или каталога
в TensorFlow 2.0 с использованием Windows 10. https://colab.research.google.com/drive/1XpPQiSbJpVr8up66l93YUdAWty6Kd2k0 https://colab.research.google.com/drive/15BlkiQOd5zUCgNRfKs1tXbsk4o898wG9 Редактировать: тот же ноутбук работает в Colab, но вызывает ошибку в моем P C

def func1(optimizer=None):
    model = Sequential()
    model.add(Conv2D(filters = 20, kernel_size = 3, padding = 'valid',input_shape = (28,28,1)))
    model.add(Activation("relu"))
    model.compile(loss= "categorical_crossentropy",optimizer = Adam(), metrics = ["accuracy"])
    return model
def func2(model_filename = 'temp_s0',model = None):
    if (model == None):
        model = func1()
        #with open(model_filename,'wb') as file :
            #pickle.dump(model,file)
        save_model(model,model_filename)
def func3(x_train,y_train,x_test,y_test,model_filename):
    model = func1()
    save_model(model,model_filename)

func2 () работает хорошо, дает: INFO: tenorflow: активы, записанные в: temp_s0 \ assets

Однако по какой-то причине следующий код не работает:

(x_train,y_train),(x_test,y_test) = fashion_mnist.load_data()
func3(x_train,y_train,x_test,y_test,model_filename = "fashion_mnist_model0")

дает:

NotFoundError                             Traceback (most recent call last)
<ipython-input-36-499ddb13879f> in <module>
----> 1 model , y_train_1 , y_test = func3(x_train,y_train,x_test,y_test,model_filename = "fashion_mnist_model0")

<ipython-input-34-48cc1e442911> in func3(x_train, y_train, x_test, y_test, model_filename)
      1 def func3(x_train,y_train,x_test,y_test,model_filename):
      2     model = func1()
----> 3     save_model(model,model_filename)

~\AppData\Roaming\Python\Python37\site-packages\tensorflow_core\python\keras\saving\save.py in save_model(model, filepath, overwrite, include_optimizer, save_format, signatures, options)
    113   else:
    114     saved_model_save.save(model, filepath, overwrite, include_optimizer,
--> 115                           signatures, options)
    116 
    117 

~\AppData\Roaming\Python\Python37\site-packages\tensorflow_core\python\keras\saving\saved_model\save.py in save(model, filepath, overwrite, include_optimizer, signatures, options)
     72   # default learning phase placeholder.
     73   with K.learning_phase_scope(0):
---> 74     save_lib.save(model, filepath, signatures, options)
     75 
     76   if not include_optimizer:

~\AppData\Roaming\Python\Python37\site-packages\tensorflow_core\python\saved_model\save.py in save(obj, export_dir, signatures, options)
    897   # the checkpoint, copy assets into the assets directory, and write out the
    898   # SavedModel proto itself.
--> 899   utils_impl.get_or_create_variables_dir(export_dir)
    900   object_saver.save(utils_impl.get_variables_path(export_dir))
    901   builder_impl.copy_assets_to_destination_dir(asset_info.asset_filename_map,

~\AppData\Roaming\Python\Python37\site-packages\tensorflow_core\python\saved_model\utils_impl.py in get_or_create_variables_dir(export_dir)
    181   variables_dir = get_variables_dir(export_dir)
    182   if not file_io.file_exists(variables_dir):
--> 183     file_io.recursive_create_dir(variables_dir)
    184   return variables_dir
    185 

~\AppData\Roaming\Python\Python37\site-packages\tensorflow_core\python\lib\io\file_io.py in recursive_create_dir(dirname)
    436     errors.OpError: If the operation fails.
    437   """
--> 438   recursive_create_dir_v2(dirname)
    439 
    440 

~\AppData\Roaming\Python\Python37\site-packages\tensorflow_core\python\lib\io\file_io.py in recursive_create_dir_v2(path)
    451     errors.OpError: If the operation fails.
    452   """
--> 453   pywrap_tensorflow.RecursivelyCreateDir(compat.as_bytes(path))
    454 
    455 

NotFoundError: Failed to create a directory: fashion_mnist_model0/variables; No such file or directory

по некоторым причинам, я не знаю

1 Ответ

0 голосов
/ 27 марта 2020

Это скорее проблема разрешения , чем проблема программирования .

Вы можете попробовать запустить ноутбук Jupyter с правами администратора.

Командная строка (Администратор)

  1. Поиск cmd, затем Run as administrator. оттуда вы можете go в среду (conda env или virtualenv) или напрямую выполнить свой код (блокнот jupyter).

Anaconda Prompt (Admin) при использовании дистрибутива Conda.

Поиск Anaconda Prompt, оттуда вы можете go в среду (condo env или virtualenv) или напрямую выполнить свой код (блокнот jupyter).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...