যেহেতু আমি বর্তমানে টিএফ.এসটিমেটর এপিআই নিয়ে পরীক্ষা নিরীক্ষা করছি আমিও এখানে আমার শিশির অনুসন্ধানগুলি যুক্ত করতে চাই। টেনসরফ্লো জুড়ে পদক্ষেপ এবং ইওকস পরামিতিগুলির ব্যবহার সামঞ্জস্যপূর্ণ কিনা তা আমি এখনও জানি না এবং অতএব আমি কেবল 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 সহ x_train.size = 700,000 এবং ব্যাচ_সাইজ = 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
, নিম্ন সীমাটি কতগুলি পদক্ষেপের মধ্য দিয়ে চলবে তা নির্ধারণ করে।