Keras modellerini seri haline getirme


#1

Merhaba,

Elimde bir dictionary içinde bulunan keras modelleri bulunmakta. Bu modelleri seri haline getirmek için pickle kütüphanesini kullanıyorum fakat

dump = pickle.dumps(model) # Convert to pickle binary object
TypeError: can’t pickle _thread.RLock objects

hatasını almaktayım.

Yukarıda ki kaynaktan keras modelleri için pickle uygulanmasını sağlayacak olan kaynak kodunu buldum fakat bu işlemi uyguladıktan sonra

ValueError: Tensor Tensor is not an element of this graph

hatasını alıyorum. İnternette ki bazı çözümleri denedim fakat çözüm olmadı. Bu modelleri serileştirme için alternatif metodlar bulunuyor mu veya nasıl bir çözüm sağlayabilirim?

İlginiz için teşekkürler.


#2

Malum Keras’ın kendi kayıt sistemi var. Onu kullanmanız tavsiye edilir.

https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model
“It is not recommended to use pickle or cPickle to save a Keras model.”
pickle tavsiye edilmiyor diye yazmışlar

İlla pickle ile yapacam diyorsanız ilgili fonksiyonların kodlarını açın
model.save
keras.models.load_model

ve orda kaydedilmiş ve okunmuş kısımların pickle ile okunup yazılacağı kodlar yazın
Fakat yine hatırlatayım bu da geçici olacaktır. Şimdi çalışır bir değişiklikte çalışmaz
sizin bulduğunuz kodun çalışmadığı gibi