def testBoundary(self): n_total = 450 batch_size = 451 self.assertEqual( calc_n_batches_per_epoch(n_total, batch_size, drop_remainder=False), 1) n_total = 450 batch_size = 449 self.assertEqual( calc_n_batches_per_epoch(n_total, batch_size, drop_remainder=False), 2) n_total = 0 batch_size = 10 self.assertEqual( calc_n_batches_per_epoch(n_total, batch_size, drop_remainder=False), 0)
print("stdevs: %s" % image_stdevs) for j in range(0, data['label/0/class'].shape[0]): print("Class: %s" % data['label/0/class'][j]) plt.imshow(data['images'][j,:,:,:]) plt.show() image_means = [round(float(x), 4) for x in list(np.mean(data['images'], axis=(0, 1, 2), dtype=np.float64))] image_stdevs = [round(float(x), 4) for x in list(np.std(data['images'], axis=(0, 1, 2), dtype=np.float64))] n_records_train = n_records_in_tfr(tfr_file) n_batches_per_epoch_train = calc_n_batches_per_epoch( n_records_train, 64) train_model, train_model_base = create_model( model_name='cats_vs_dogs', input_feeder=input_feeder_train, target_labels=labels, n_classes_per_label_type=n_classes_per_label, n_gpus=1, continue_training=False, transfer_learning=False, path_of_model_to_load=None) val_model, val_model_base = create_model( model_name='cats_vs_dogs',
output_labels=output_labels, image_pre_processing_fun=preprocess_image, image_pre_processing_args={ **image_processing, 'is_training': False }, buffer_size=args['buffer_size'], num_parallel_calls=args['n_cpus'], drop_batch_remainder=False) # Export Image Processing Settings export_dict_to_json({ **image_processing, 'is_training': False }, os.path.join(args['run_outputs_dir'], 'image_processing.json')) logger.info("Calculating batches per epoch") n_batches_per_epoch_train = calc_n_batches_per_epoch( n_records_train, args['batch_size']) n_records_val = n_records_in_tfr_parallel(tfr_val, args['n_cpus']) n_batches_per_epoch_val = calc_n_batches_per_epoch(n_records_val, args['batch_size']) if TEST_SET: n_records_test = n_records_in_tfr_parallel(tfr_test, args['n_cpus']) n_batches_per_epoch_test = calc_n_batches_per_epoch( n_records_test, args['batch_size'], drop_remainder=False) ########################################### # CREATE MODEL ########### ########################################### logger.info("Preparing Model")
def testBatchLarger(self): n_total = 450 batch_size = 660 self.assertEqual( calc_n_batches_per_epoch(n_total, batch_size, drop_remainder=False), 1)
def testDropRemainderCaseNormal(self): n_total = 26 batch_size = 5 self.assertEqual(calc_n_batches_per_epoch(n_total, batch_size), 5)
def testNormalCase(self): n_total = 26 batch_size = 5 self.assertEqual( calc_n_batches_per_epoch(n_total, batch_size, drop_remainder=False), 6)