जैसा कि मैं वर्तमान में 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_train700000 के एक आकार था और batch_size4) था।
द्वारा परिभाषित प्रशिक्षण कदम 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_fn1000 चरणों के बाद प्रशिक्षण बंद हो जाता है। इसका कारण यह है है 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परिभाषित करते हैं, लोअर बाउंड चरणों के माध्यम से जो चलाया जाएगा की संख्या निर्धारित करता है।