Şu anda tf.estimator API'sini denediğim için, bulanık bulgularımı da buraya eklemek istiyorum. Adımların ve epochs parametrelerinin kullanımının TensorFlow boyunca tutarlı olup olmadığını henüz bilmiyorum ve bu nedenle şimdilik sadece tf.estimator (özellikle tf.estimator.LinearRegressor) ile ilişkiliyim.
Eğitim adımları tanımlandı num_epochs: stepsaçıkça tanımlanmadı
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)
Yorum: num_epochs=1Eğitim girdisi için ayarladım ve doküman girişi numpy_input_fnbana "num_epochs: Integer, veri üzerinde yinelenecek dönem sayısı. If Nonesonsuza kadar çalışacak" diyor. . İle num_epochs=1yukarıdaki örnekte eğitim tam olarak çalışır x_train.size / batch_size süreleri / adımlar (aynı benim durumumda bu 175.000 adımlar oldu x_train700000 bir boyutu vardı ve batch_size4 idi).
Eğitim adımları şu şekilde tanımlanır num_epochs: stepsaçıkça tanımlanmış adım sayısından daha yükseknum_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)
Yorum: num_epochs=1benim durumumda 175000 adım anlamına gelir ( x_train.size / batch_size ile x_train.size = 700.000 ve batch_size = 4 ) ve estimator.trainadımlar parametresi 200.000 olarak ayarlanmış olsa da bu tam olarak adım sayısıdır estimator.train(input_fn=train_input, steps=200000).
Tarafından tanımlanan eğitim adımları 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)
Yorum: Her ne kadar 1000 adımdan sonra eğitim durmalarını num_epochs=1çağırırken ayarlamış olsam da numpy_input_fn. Bunun nedeni ise steps=1000içinde estimator.train(input_fn=train_input, steps=1000)üzerine yazar num_epochs=1içinde tf.estimator.inputs.numpy_input_fn({'x':x_train},y_train,batch_size=4,num_epochs=1,shuffle=True).
Sonuç : Her ne parametreleri num_epochsiçin tf.estimator.inputs.numpy_input_fnve stepsiçin estimator.traintanımlar, alt sınır tarafından işletilecek adım sayısını belirler.