loss = MyLoss(images, predictions) gradients = tape.gradient(loss, model.trainable_variables) optimizer.apply_gradients(zip(gradients, model.trainable_variables)) train_loss(loss) print("TENSORBOARD...") tb = program.TensorBoard() tb.configure(argv=[None, '--logdir', log_dir]) url = tb.launch() batch_size = 8 num_train_steps = 1000000 for step in range(num_train_steps): batch = reader.GetNextBatch(batch_size) images = Preprocessor.preprocess_image_pairs(batch) if (step % 10 == 0): # Show first pair: im1 = images[0, :, :, :3] im2 = images[0, :, :, 3:] mean = Preprocessor.mean mean = np.squeeze(mean, axis=0) img_to_show_1 = im1 + mean img_to_show_2 = im2 + mean cv2.imshow('image 1', img_to_show_1) cv2.imshow('image 2', img_to_show_2) # Run network on first pair: imgs_to_predict = np.expand_dims(images[0, :, :, :], axis=0) flows, motions, depths, ego = model(imgs_to_predict, training=False)