Introduction: Early detection of sepsis are critical for improving outcomes. We trained a convolutional neural network (CNN) for early detection of sepsis. Methods: Hourly physiological data of 40 variables from 40,336 patients admitted to intensive care unit (ICU) were used. The database appeared imbalanced, and the class (positive) with small number of data entries was over-sampled proportionally before training. To remove the effect of missing data and speed up training, a subset of 11 features from the 40 variables were selected based on importance ranking from training a subset using random forest classifier. For sepsis patients, data were positively labelled 12 hours before clinical onset. Data were augmented using past information up to 5 hours before the current hour depending on data availability and the differences of the consecutive hours were computed. The resulting vector with 121 values for each hour were fed in a CNN for training. 80% of the augmented and oversampled data were used for training, with 20% for testing. The CNN includes 3 convolutional layers, 2 pooling layers and a fully connected layer. Batch normalisation and dropout layers were also added in between to avoid overfitting. Source code has been evaluated by Physionet via Docker and GitHub link. Results: Accuracy of 94.23% and F1 score of 94.4% were achieved in the testing set for detecting sepsis 12 hours before the clinical onset, with a sensitivity of 97.9% and specificity of 90.5%. Unity score from 5-fold cross-validation in released database was 0.767 ± 0.016. The entry for the unofficial phase of the PhysioNet/CinC 2019 competition received a normalised utility score of 0.2637964091. Conclusion: Deep learning approaches showed potential application for better prediction of sepsis, using real-world database with random missing data and imbalanced classes.