

現在python tensorflowを用いてDeep Learningを行なっています。  
training datasetで学習したweightをtf形式で保存しましたが、それを取り出せない状態にいます。  
みなさまのお知恵を拝借したいです。

先に以下のtoy programで説明させていただき、最後に質問させていただきます。

[code]

    from model import get_model
        
    model=None
    model=get_model()
    
    fn = "tmp3/test55.tf";
    
    """
    1. 途中で学習させる
    2. 学習させない
    """
    
    #保存用
    model.save_weights(fn)
    #読み込み用
    model.load_weights(fn)
    
[/code]

上記のprogramを動かすと、./tmp3ディレクトリーの下に３つのファイルが生成されます。

[code]

    checkpoint
    test55.tf.data-00000-of-00001
    test55.tf.index
    
[/code]

２の学習させない時では、これらファイルを読み込むのには全く問題はありませんでした。  
しかし、１の学習させた時には同じファイルが作成されますが、正常に読み込めませんでした。

エラーメッセージは以下のものです。

[code]

    2021-09-13 23:37:12.127153: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 10801 MB memory:  -> device: 0, name: Tesla K80, pci bus id: 0000:06:00.0, compute capability: 3.7
    Exception ignored in: <function _CheckpointRestoreCoordinatorDeleter.__del__ at 0x2aad0724c160>
    Traceback (most recent call last):
      File "/cluster/XXX/miniconda/lib/python3.8/site-packages/tensorflow/python/training/tracking/util.py", line 200, in __del__
    TypeError: 'NoneType' object is not callable
    
[/code]

### 質問

学習の有無でエラーが発生していますが、なんとか学習したファイルを読み込む方法がありますでしょうか？  
今後の勉強用で、なぜこのようなエラーが発生するのかを知りたいです。

お手数をお掛けしますが、よろしくお願いします


CC BY-SA 4.0
2021-09-13T22:57:56.783
82468
2021-09-14T10:47:52.467
2021-09-14T00:09:04.483
3060
11048
question
python tensorflow
python tensorflowを用いて、tf形式で保存されたファイルを読み込む方法


上記のコメントにあります様にmetropolis様の回答を参照させていただいています。

上記のtoy programの中で以下の部分を改変すると正常に動くことを確認できました。  
同じような問題で困っている方も今後おられるかもしれませんので、  
記録用に記入しておきます。

[code]

    #読み込み用
    model.load_weights(fn)　　　　# <- 問題の箇所
    
[/code]

の箇所を以下の様に変更しますと、問題なくファイルを読み込むことができました。

[code]

    model.load_weights(fn).expect_partial()    #<- 解決方法
    
[/code]


CC BY-SA 4.0
2021-09-14T10:47:52.467
82484
2021-09-14T10:47:52.467
11048
82468
answer