This project proposes a three dimensional Convolutional Neural Network algorithm to accurately detect EEG abnormalities from multi-channel EEG signals. This research synthesizes several heterogeneous datasets, constructs a dataset 10 times larger than other datasets of its kind, uses all channel EEG signals as input, and preprocesses them into data structures that can reflect EEG spatial-temporal character, constructs and trains a 28-layer deep residual network, automatically extracts high level features, and recognizes EEG anomalies. We collect and reorganize several heterogeneous data sets, and convert two-dimensional signal segments to three-dimensional frames after preprocessing. Thus we build a dataset of 14049 annotated samples with shape 512_11_11_1, of which 8866 are abnormal. On this dataset, we train a 28-layer convolutional network with residual blocks which classify EEG segments as normal or abnormal. Prediction on independent test sets using this trained model achieved an accuracy of 96.67%. The AUC is 99.93% and the RMSE is 0.0032.We compared the results of several methods and found that 3D frame data structure and deeper CNN model is better. The performance of our model also outperforms other related researches on EEG classification. This project is implemented with MATLAB software.