कैसे करने के लिए संयुक्त राष्ट्र-ट्रैक वजन में कस्टम keras परत?

0

सवाल

मैं होगा की तरह बनाने के लिए एक कस्टम keras परत (एक codebook के लिए एक VQVAE मॉडल.) जबकि मैं प्रशिक्षण के लिए की तरह होता है tf.Variable जो पटरियों के उपयोग के प्रत्येक कोड तो मैं पुनः आरंभ कर सकते हैं अप्रयुक्त कोड. तो मैं बनाया मेरी Codebook परत के रूप में इस प्रकार है...

class Codebook(layers.Layer): 
     def __init__(self, num_codes, code_reset_limit = None, **kwargs): 
         super().__init__(**kwargs) 
         self.num_codes = num_codes 
         self.code_reset_limit = code_reset_limit 
         if self.code_reset_limit: 
             self.code_counter = tf.Variable(tf.zeros(num_codes, dtype = tf.int32), trainable = False) 
     def build(self, input_shape): 
         self.codes = self.add_weight(name = 'codes',  
                                      shape = (self.num_codes, input_shape[-1]), 
                                      initializer = 'random_uniform',  
                                      trainable = True) 
         super().build(input_shape) 
                                                                                                             

इस मुद्दे को मैं यह है कि Layer वर्ग पाता है सदस्य चर self.code_counter और कहते हैं यह करने के लिए सूची की बाट जो रहे हैं बचाया के साथ परत. यह भी उम्मीद है self.code_counter उपस्थित होने के लिए जब वजन लोड कर रहे हैं, जो मामला नहीं है जब मैं चलाने में निष्कर्ष मोड. कैसे कर सकते हैं मैं यह तो keras को ट्रैक नहीं करता है एक चर में परत. मैं यह नहीं चाहता कायम करने के लिए या का हिस्सा हो सकता है layers.weights.

keras python tensorflow
2021-11-23 10:45:03
1

सबसे अच्छा जवाब

1

के अनुसार डॉक्स:

चर सेट विशेषताओं के रूप में एक परत के ट्रैक कर रहे हैं के रूप में वजन की परतें (परत में है । वजन)

तो सवाल यह है कि क्या आप का उपयोग कर सकते हैं tf.zeros साथ अकेले या एक साथ tf.constant:

import tensorflow as tf

class Codebook(tf.keras.layers.Layer): 
     def __init__(self, num_codes, code_reset_limit = None, **kwargs): 
         super().__init__(**kwargs) 
         self.num_codes = num_codes 
         self.code_reset_limit = code_reset_limit 
         if self.code_reset_limit: 
            self.code_counter = tf.constant(tf.zeros(num_codes, dtype = tf.int32))

     def build(self, input_shape): 
         self.codes = self.add_weight(name = 'codes',  
                                      shape = (self.num_codes, input_shape[-1]), 
                                      initializer = 'random_uniform',  
                                      trainable = True) 
         super().build(input_shape) 
code_book = Codebook(num_codes=5, code_reset_limit=True)
print(code_book.weights)
[]
2021-11-23 13:35:05

@chasep255 किसी भी प्रतिक्रिया है?
AloneTogether

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में