diff --git a/INSTALL.md b/INSTALL.md
new file mode 100644
index 0000000..9e6c14a
--- /dev/null
+++ b/INSTALL.md
@@ -0,0 +1,39 @@
+### Installation instructions for Ubuntu 16.04
+
+* Make sure CUDA and cuDNN are installed. Three configurations have been tested:
+ - TensorFlow 1.4.1, CUDA 8.0 and cuDNN 6.0
+ - TensorFlow 1.12.0, CUDA 9.0 and cuDNN 7.4
+ - ~~TensorFlow 1.13.0, CUDA 10.0 and cuDNN 7.5~~ (bug found only with this version).
+
+* Ensure all python packages are installed :
+
+ sudo apt update
+ sudo apt install python3-dev python3-pip python3-tk
+
+* Follow Tensorflow installation procedure.
+
+* Install the other dependencies with pip:
+ - numpy
+ - scikit-learn
+ - psutil
+ - matplotlib (for visualization)
+ - mayavi (for visualization)
+ - PyQt5 (for visualization)
+
+* Compile the customized Tensorflow operators located in `tf_custom_ops`. Open a terminal in this folder, and run:
+
+ sh compile_op.sh
+
+ N.B. If you installed Tensorflow in a virtual environment, it needs to be activated when running these scripts
+
+* Compile the C++ extension module for python located in `cpp_wrappers`. Open a terminal in this folder, and run:
+
+ sh compile_wrappers.sh
+
+You should now be able to train Kernel-Point Convolution models
+
+### Installation instructions for Ubuntu 18.04 (Thank to @noahtren)
+
+* Remove the `-D_GLIBCXX_USE_CXX11_ABI=0` flag for each line in `tf_custom_ops/compile_op.sh` (problem with the version of gcc). One configuration has been tested:
+
+ - TensorFlow 1.12.0, CUDA 9.0 and cuDNN 7.3.1