Graph Neural Networks (GNNs) have been extensively used for mining graph-structured data with impressive performance. We argue that the paths in a graph imply different semantics for different downstream tasks. However, traditional GNNs do not distinguish among various downstream tasks. To address this problem and learn the high-level semantics for specific task, we design a novel GNN solution, namely Customized Graph Neural Network with Path Reweighting (CustomGNN for short). CustomGNN can automatically learn the high-level semantics for specific downstream tasks, highlight semantically relevant paths, and filter out task-irrelevant information in the graph. In addition, we analyze the semantics learned by CustomGNN and demonstrate its ability to avoid the three inherent problems in traditional GNNs, i.e., over-smoothing, poor robustness, and overfitting. In experiments with the node classification task, CustomGNN achieves state-of-the-art accuracies on 6 out of 7 datasets and competitive accuracy on the rest one.