عامر ابراهيم نشر 12 سبتمبر 2021 أرسل تقرير مشاركة نشر 12 سبتمبر 2021 كيف يمكننا تخزين نتائج ال Epochs خلال التدريب؟ 2 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Ali Haidar Ahmad نشر 12 سبتمبر 2021 أرسل تقرير مشاركة نشر 12 سبتمبر 2021 نستخدم CSVLogger callback للقيام بحفظ نتائج ال Epochs خلال عملية التدريب: tf.keras.callbacks.CSVLogger(filename, separator=",", append=False) حيث نمرر له مسار الملف الذي نريد أن يتم حفظ البيانات فيه. والفاصل الذي نريد أن يتم فصل العناصر فيه. أما الوسيط الأخير فنضبطه على True إذا كان الملف موجود مسبقاً ونريد الإضافة عليه (في حالة كان موجود ولم يتم ضبطه على True سيتم الكتابة فوق الملف). ويمكننا استخدامه أثناء تدريب النماذج بالشكل التالي: # نقوم بتعريف الكول باكس أولاً csv_logger = CSVLogger('training.log') #fit في الدالة callbacks ثم نمرره إلى الوسيطة model.fit(X_train, Y_train, callbacks=[csv_logger]) مثال: from tensorflow.keras.models import Sequential from sklearn.datasets import make_moons from tensorflow.keras.layers import Dense # تعريف بيانات عشوائية X, y = make_moons(n_samples=200, noise=0.2, random_state=4) # قسم البيانات إلى تدريب واختبار n_train = 30 trainX, testX = X[:n_train, :], X[n_train:, :] trainy, testy = y[:n_train], y[n_train:] # تعريف نموذج model = Sequential() model.add(Dense(600, input_dim=2, activation='relu')) model.add(Dense(1, activation='sigmoid')) model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # تعريف الكولباكس from tensorflow.keras.callbacks import CSVLogger csv_logger = CSVLogger('training.log') # تدريب النموذدج model.fit(trainX, trainy, validation_data=(testX, testy), epochs=5000, verbose=0, callbacks=[csv_logger]) 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Ahmed Sharshar نشر 12 سبتمبر 2021 أرسل تقرير مشاركة نشر 12 سبتمبر 2021 يمكنك استخدام csvlogger وذلك لحفظ نتائج كل epoch على حدة، استخدامها بسيط حيث تعرف الدالة كالتالي: tf.keras.callbacks.CSVLogger( filename, separator=',', append=False ) واستخدامها بسيط حيث يتم اضافة اسم الملف الذي تريد التحميل فيه ثم وضعها في Model.fit كالتالي: csv_logger = CSVLogger('example.log') model.fit(X_train, Y_train, callbacks=[csv_]) المثال التالي يوضح كيفية استخدامها في عملية التدريب: def train(): data = load_train_data() data = data.reshape((data.shape[0],data.shape[1],data.shape[2],1)) data = data.astype('float32')/255.0 # model selection if args.pretrain: model = load_model(args.pretrain, compile=False) else: if args.model == 'DnCNN': model = models.DnCNN() # تشغيل النموذج model.compile(optimizer=Adam(), loss=['mse']) ckpt = ModelCheckpoint(save_dir+'/model_{epoch:02d}.h5', monitor='val_loss', verbose=0, period=args.save_every) csv_logger = CSVLogger(save_dir+'/log.csv', append=True, separator=',') lr = LearningRateScheduler(step_decay) # التدريب history = model.fit_generator(train_datagen(data, batch_size=args.batch_size), steps_per_epoch=len(data)//args.batch_size, epochs=args.epoch, verbose=1, callbacks=[ckpt, csv_logger, lr]) return model اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
عامر ابراهيم
كيف يمكننا تخزين نتائج ال Epochs خلال التدريب؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.