In line: `y_train = np.concatenate((y_source, y_source[train]))` I think it should be: `y_train = np.concatenate((y_source, y_target[train]))` I didn't read the paper but only in this case, the input shape makes sense. Thanks for your code!