第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

TypeError: can't pickle _thread.RLock objects,

TypeError: can't pickle _thread.RLock objects,

慕的地8271018 2022-10-25 11:01:00
我嘗試為我的數(shù)據(jù)集訓(xùn)練 Keras R-FCN,我需要保存完整的模型,因為在完成之前我無法全部訓(xùn)練模型,所以當(dāng)我可以恢復(fù)訓(xùn)練時我需要恢復(fù)我的模型。但如果我減輕重量,我無法使用 modelCheckpoint 或 model.save 保存完整模型,只有代碼可以正常工作。我使用 TensorFlow-GPU 1.15.0 和 Keras 2.2.4File "/content/testing.py", line 130, in <module>    ses.run(main())  File "/content/testing.py", line 123, in main    layers='all')  File "/content/KerasRFCN/Model/Model.py", line 546, in train    use_multiprocessing=False,  File "/usr/local/lib/python3.6/dist-packages/keras/legacy/interfaces.py", line 91, in wrapper    return func(*args, **kwargs)  File "/usr/local/lib/python3.6/dist-packages/keras/engine/training.py", line 1418, in fit_generator    initial_epoch=initial_epoch)  File "/usr/local/lib/python3.6/dist-packages/keras/engine/training_generator.py", line 251, in fit_generator    callbacks.on_epoch_end(epoch, epoch_logs)  File "/usr/local/lib/python3.6/dist-packages/keras/callbacks.py", line 79, in on_epoch_end    callback.on_epoch_end(epoch, logs)  File "/usr/local/lib/python3.6/dist-packages/keras/callbacks.py", line 446, in on_epoch_end    self.model.save(filepath, overwrite=True)  File "/usr/local/lib/python3.6/dist-packages/keras/engine/network.py", line 1090, in save    save_model(self, filepath, overwrite, include_optimizer)  File "/usr/local/lib/python3.6/dist-packages/keras/engine/saving.py", line 382, in save_model    _serialize_model(model, f, include_optimizer)  File "/usr/local/lib/python3.6/dist-packages/keras/engine/saving.py", line 83, in _serialize_model    model_config['config'] = model.get_config()  File "/usr/local/lib/python3.6/dist-packages/keras/engine/network.py", line 931, in get_config    return copy.deepcopy(config)  File "/usr/lib/python3.6/copy.py", line 150, in deepcopy    y = copier(x, memo)這是問題代碼:    h, w = K.shape(input_image)[1], K.shape(input_image)[2]    image_scale = K.cast(K.stack([h, w, h, w], axis=0), tf.float32)    gt_boxes = KL.Lambda(lambda x: x / image_scale)(input_gt_boxes)在我添加此代碼之前,我的模型工作正常并成功保存完整模型
查看完整描述

1 回答

?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗 獲得超11個贊

由于我已經(jīng)解決了我的問題,我將分享我的解決方案。就像標(biāo)題所說的錯誤typeError: can't pickle thread rlock object顯然是因為我的模型中有原始張量在內(nèi)部游蕩,在這種情況下,在我的自定義模型中構(gòu)建的 def 內(nèi)部。


我采取的解決方案是制作一個包含計算的函數(shù),其中涉及 k.shape 并在 lambda 層內(nèi)調(diào)用該函數(shù)。這是我采用的示例解決方案。


這是問題代碼


h, w = K.shape(input_image)[1], K.shape(input_image)[2]

image_scale = K.cast(K.stack([h, w, h, w], axis=0), "float32")

gt_boxes = KL.lambda(lambda x: x/image_scale)(input_gt_boxes)

然后我將該代碼移動到一個函數(shù)中


def gtBoxes(input_image, input_gt_boxes):

    h, w = K.shape(input_image)[1], K.shape(input_image)[2]

    image_scale = K.cast(K.stack([h, w, h, w], axis=0), "float32")

    gt_boxes = input_gt_boxes/image_scale

    return gt_boxes

在我的自定義模型中構(gòu)建 def 之后,我在 lambda 層中調(diào)用它


gt_boxes = KL.Lambda(lambda x: gtBoxes(*x))([input_image, input_gt_boxes])

這個解決方案是我從 TensorFlow GitHub issue 的一個問題中得到的,但我采用了不同的方法,因為即使在使用與該問題的解決方案相同的方法后,我仍然會遇到該錯誤。


查看完整回答
反對 回復(fù) 2022-10-25
  • 1 回答
  • 0 關(guān)注
  • 440 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號