लक्ष्य डेटा के साथ ट्रेन मॉडल के भीतर उत्पन्न

वोट
0

मैं कैसे द्वारा प्रयोग किया जाता नुकसान समारोह प्राप्त कर सकते हैं tf.keras.Model.fit(x, y), के बजाय ग्राफ बाह्य आपूर्ति लक्ष्य डेटा के साथ एक उत्पादन के भीतर दो outputs तुलना करने के लिए y?

नुकसान

मैनुअल आप लक्ष्य मूल्य जो मैं चाहता की तरह लगता है के लिए tensors उपयोग कर सकते हैं, लेकिन आप फिर भी आदानों की जरूरत है कि tensors होने के लिए कहते हैं। लेकिन मेरी जानकारी के NumPy सरणी के होते हैं और मुझे नहीं लगता कि मुझे लगता है कि बदलने के लिए करना चाहिए।

09/10/2019 को 13:00
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

1 - आराम, सबसे अच्छा - स्मृति के लिए शायद अच्छा नहीं

क्यों न सिर्फ पहले से ही नुकसान के लिए उम्मीद आइटम मिल सकता है?

new_y_train = non_trainable_ops_model.predict(original_y_train)   
nn_model.fit(x_train, new_y_train)

अगर अपनी स्मृति इस संभाल कर सकते हैं यह निश्चित रूप से सबसे अच्छा तरीका लगता है। सरल मॉडल, तेजी से प्रशिक्षण।

तुम भी बचाने / नई डेटा लोड कर सकते हैं:

np.save(name, new_y_train)   
new_y_train = np.load(name)

2 - मॉडल उत्पादन हानि करें और संकलन के लिए एक डमी नुकसान का उपयोग

घाटा:

def dummy_loss(true, pred):
    return pred

def true_loss(x):
    true, pred = x

    return loss_function(true, pred) #you can probably from keras.losses import loss_function    

आदर्श:

#given
nn_model = create_nn_model()
non_trainable_ops_model = create_nto_model()

nn_input = Input(nn_input_shape)
nto_input = Input(nto_input_shape)

nn_outputs = nn_model(nn_input)
nto_outputs = non_trainable_ops_model(nto_input)

loss = Lambda(true_loss)([nto_outputs, nn_outputs])

training_model = Model([nn_input, nto_input], loss)
training_model.compile(loss = dummy_loss, ...)

training_model.fit([nn_x_train, nto_x_train], np.zeros((len(nn_x_train),)))

3 - उत्सुक निष्पादन सक्षम और कस्टम प्रशिक्षण छोरों बनाने

https://www.tensorflow.org/tutorials/customization/custom_training_walkthrough

09/10/2019 को 16:39
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more