loss = [] valid_loss = [] Train = DP.get_paths("/home/xvt131/Functions/Adhish_copy/Training-Rand") Test = DP.get_paths("/home/xvt131/Functions/Adhish_copy/Validating-Rand") for epoch in range(num_epochs): print epoch cur_loss = 0 val_loss = 0 confusion_valid = ConfusionMatrix(classes) confusion_train = ConfusionMatrix(classes) for im in Train: B = np.array([]) Pos = np.empty((0, 1, 3)) Scan, Y_train, Post = DP.Sampling(im) B = np.int32(np.append(B, Y_train)) Pos = np.float32(np.vstack((Pos, Post))) random = np.arange(len(B)) Y_train = B[random] Pos = Pos[random] num_samples_train = Y_train.shape[0] num_batches_train = num_samples_train // batch_size for i in range(num_batches_train): idx = range(i * batch_size, (i + 1) * batch_size) pos_batch = Pos[idx] target_batch = Y_train[idx] batch_loss = f_train(pos_batch, target_batch) #this will do the backprop pass cur_loss += batch_loss[0] / num_samples_train