जैसा कि मैं वर्तमान में tf.estimator API के साथ प्रयोग कर रहा हूं, मैं अपने डेवी निष्कर्षों को यहां भी जोड़ना चाहूंगा। मुझे अभी तक पता नहीं है कि क्या चरणों और युगों के मापदंडों का उपयोग पूरे टेंसोरफ्लो के अनुरूप है और इसलिए मैं अभी के लिए tf.estimator (विशेष रूप से tf.estimator.LinearRegressor) से संबंधित हूं।
द्वारा परिभाषित प्रशिक्षण चरण num_epochs
: steps
स्पष्ट रूप से परिभाषित नहीं
estimator = tf.estimator.LinearRegressor(feature_columns=ft_cols)
train_input = tf.estimator.inputs.numpy_input_fn({'x':x_train},y_train,batch_size=4,num_epochs=1,shuffle=True)
estimator.train(input_fn=train_input)
टिप्पणी: मैंने num_epochs=1
प्रशिक्षण इनपुट के लिए निर्धारित किया है और numpy_input_fn
मुझे "num_epochs: पूर्णांक: डेटा पर पुनरावृत्ति करने के लिए युगों की संख्या। मुझे None
हमेशा के लिए चलेगा।" । साथ num_epochs=1
ऊपर के उदाहरण में प्रशिक्षण वास्तव में चलाता है x_train.size / batch_size बार / कदम (मेरे मामले में यह 175000 कदम के रूप में था x_train
700000 के एक आकार था और batch_size
4) था।
द्वारा परिभाषित प्रशिक्षण कदम num_epochs
: steps
स्पष्ट रूप से परिभाषित चरणों की संख्या से अधिक स्पष्ट रूप से परिभाषित किया गया हैnum_epochs=1
estimator = tf.estimator.LinearRegressor(feature_columns=ft_cols)
train_input = tf.estimator.inputs.numpy_input_fn({'x':x_train},y_train,batch_size=4,num_epochs=1,shuffle=True)
estimator.train(input_fn=train_input, steps=200000)
टिप्पणी: num_epochs=1
मेरे मामले में इसका मतलब होगा 175000 कदम ( x_train.size / batch_size with x_train.size = 700,000 और batch_size = 4 ) और यह ठीक कदमों की संख्या है, estimator.train
जिससे कदम पैरामीटर 200,000 पर सेट किया गया था estimator.train(input_fn=train_input, steps=200000)
।
द्वारा परिभाषित प्रशिक्षण कदम steps
estimator = tf.estimator.LinearRegressor(feature_columns=ft_cols)
train_input = tf.estimator.inputs.numpy_input_fn({'x':x_train},y_train,batch_size=4,num_epochs=1,shuffle=True)
estimator.train(input_fn=train_input, steps=1000)
टिप्पणी: हालांकि मैं निर्धारित किया है num_epochs=1
जब बुला numpy_input_fn
1000 चरणों के बाद प्रशिक्षण बंद हो जाता है। इसका कारण यह है है steps=1000
में estimator.train(input_fn=train_input, steps=1000)
अधिलेखित कर देता है num_epochs=1
में tf.estimator.inputs.numpy_input_fn({'x':x_train},y_train,batch_size=4,num_epochs=1,shuffle=True)
।
निष्कर्ष : जो कुछ भी मानकों num_epochs
के लिए tf.estimator.inputs.numpy_input_fn
और steps
के लिए estimator.train
परिभाषित करते हैं, लोअर बाउंड चरणों के माध्यम से जो चलाया जाएगा की संख्या निर्धारित करता है।