"Here is a list of the notebook that we will exercice during this workshop:\n",
"The praticals were prepared and will be presented by [Leonard Sédoux](https://leonard-seydoux.github.io/) with the help of [Benoît Seignovert](https://benoit.seignovert.fr).\n",
"- [Machine learning using MNIST classification with fully connected neural network](machine-learning/notebooks/session_1a_fcnn.ipynb)\n",
"- [Machine learning using MNIST classification with a convolutional connected neural network](machine-learning/notebooks/session_1b_cnn.ipynb)\n",
"- [Machine learning using Seisbench and PhaseNet](machine-learning/notebooks/session_2_phasnet.ipynb)\n",
"\n",
"\n",
"This jupyter environment is already already preconfigured for you and you juste have to click on the links above to open the notebooks and play with them.\n",
"\n",
"You can download the notebook manually (with the file explorer on the left) or you can clone the [source files from the NuTS Gitlab repo](https://gitlab.univ-nantes.fr/nuts/tp).\n",
"> This Jupyter environment **is already preconfigured** for you and you just have to click on the links above to open the notebooks and edit them.\n",
"If you wish to report an [issue you can also send us an email](mailto:gitlab-incoming+nuts-tp-machine-learning-18610-issue-@univ-nantes.fr) ✉️."
"> If you want to, you can download the notebooks individually with the file explorer (on the left)\n",
"> All the notebooks are also available in the [NuTS Gitlab repo](https://gitlab.univ-nantes.fr/nuts/tp/machine-learning).\n",
"\n",
"## Thursday, June 1<sup>st</sup>\n",
"### Atelier 1 - First steps with data preparation (8h-12h)\n",
"\n",
"Here we will investigate the basic statistical properties and some feeling of the data. Do we have sufficient training points? Is the data stationary? What features will be relevant to solve the task at hand? Can we avoid overfitting? \n",
"\n",
"- [Basics of programming with Python and scientific libraries](machine-learning/1_inspection/1_check_basics.ipynb)\n",
"If deep learning is powerful to solve a vast majority of problems, machine-learning approches, if successful, provide more insight about the physics at play for solving problems. We will investigate and criticize several supervised and unsupervised approaches to solve the task of classifying clouds of Lidar points (scenes) to infer the type of structure visible therein.\n",
"\n",
"- [Label a subset of a lidar point cloud](machine-learning/3_lidar/label.ipynb)\n",
"- [Three-dimensional lidar data classification of complex natural scenes with multi-scale features](machine-learning/3_lidar/lidar.ipynb)\n",
"\n",
"\n",
"## Friday, June 2<sup>nd</sup>\n",
"\n",
"### Atelier 3: Deep Learning with Pytorch (9h-12h)\n",
"\n",
"When the attempts to solve the problem are unsuccessful or if defining features is a challenge because of the input data's dimension, we can also learn the features that best solve the task. Here we will revisit the problem of Lidar with deep-learning approaches and see how we can efficiently design a neural network to solve the classification task. \n",
"\n",
"- [MNIST classification with a fully connected neural network](deep-learning/session_1a_fcnn.ipynb)\n",
"- [MNIST classification with a convolutional neural network](deep-learning/session_1b_cnn.ipynb)\n",
"- [Understanding and training PhaseNet on a local dataset](deep-learning/session_2_phasnet.ipynb)\n",
"\n",
"🍴 Lunch break and posters (12h-14h)\n",
"\n",
"### Atelier 4: Deeper dive in artificial intelligence (14h-15h30)\n",
"\n",
"This last class will be a free hands class on various problems. We invite people to bring datasets and tasks of interest so we can sit and try machine-learning solutions for solving them. We will also dive deeper into algorithms, try to improve performances and discuss some good practices in machine and deep learning. \n",
"device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
"device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
"print('Using device:', device)\n",
"print('Using device:', device)\n",
"\n",
"\n",
...
@@ -124,16 +220,17 @@
...
@@ -124,16 +220,17 @@
]
]
},
},
{
{
"attachments": {},
"cell_type": "markdown",
"cell_type": "markdown",
"id": "55e02b91-907b-469a-b7e8-6de4d2c16599",
"id": "55e02b91-907b-469a-b7e8-6de4d2c16599",
"metadata": {},
"metadata": {},
"source": [
"source": [
"## Seisbench"
"### Seisbench datasets"
]
]
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 5,
"execution_count": 6,
"id": "e2c6e92d-c58c-473d-bdd0-5dddc4580c0f",
"id": "e2c6e92d-c58c-473d-bdd0-5dddc4580c0f",
"metadata": {
"metadata": {
"tags": []
"tags": []
...
@@ -145,7 +242,7 @@
...
@@ -145,7 +242,7 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 6,
"execution_count": 7,
"id": "af776464-eb23-4308-bf43-8244928d5d6b",
"id": "af776464-eb23-4308-bf43-8244928d5d6b",
"metadata": {
"metadata": {
"tags": []
"tags": []
...
@@ -155,8 +252,8 @@
...
@@ -155,8 +252,8 @@
"name": "stderr",
"name": "stderr",
"output_type": "stream",
"output_type": "stream",
"text": [
"text": [
"2023-05-19 17:45:22,994 | seisbench | WARNING | Check available storage and memory before downloading and general use of ETHZ dataset. Dataset size: waveforms.hdf5 ~22Gb, metadata.csv ~13Mb\n",
"2023-05-30 12:00:44,151 | seisbench | WARNING | Check available storage and memory before downloading and general use of ETHZ dataset. Dataset size: waveforms.hdf5 ~22Gb, metadata.csv ~13Mb\n",
"2023-05-19 17:45:23,201 | seisbench | WARNING | Data set contains mixed sampling rate, but no sampling rate was specified for the dataset.get_waveforms will return mixed sampling rate waveforms.\n"
"2023-05-30 12:00:44,897 | seisbench | WARNING | Data set contains mixed sampling rate, but no sampling rate was specified for the dataset.get_waveforms will return mixed sampling rate waveforms.\n"
Here is a list of the notebook that we will exercice during this workshop:
The praticals were prepared and will be presented by [Leonard Sédoux](https://leonard-seydoux.github.io/) with the help of [Benoît Seignovert](https://benoit.seignovert.fr).
-[Machine learning using MNIST classification with fully connected neural network](machine-learning/notebooks/session_1a_fcnn.ipynb)
-[Machine learning using MNIST classification with a convolutional connected neural network](machine-learning/notebooks/session_1b_cnn.ipynb)
-[Machine learning using Seisbench and PhaseNet](machine-learning/notebooks/session_2_phasnet.ipynb)
> This Jupyter environment **is already preconfigured** for you and you just have to click on the links above to open the notebooks and edit them.
> If you want to, you can download the notebooks individually with the file explorer (on the left)
This jupyter environment is already already preconfigured for you and you juste have to click on the links above to open the notebooks and play with them.
> All the notebooks are also available in the [NuTS Gitlab repo](https://gitlab.univ-nantes.fr/nuts/tp/machine-learning).
You can download the notebook manually (with the file explorer on the left) or you can clone the [source files from the NuTS Gitlab repo](https://gitlab.univ-nantes.fr/nuts/tp).
If you wish to report an [issue you can also send us an email](mailto:gitlab-incoming+nuts-tp-machine-learning-18610-issue-@univ-nantes.fr) ✉️.
## Thursday, June 1<sup>st</sup>
### Atelier 1 - First steps with data preparation (8h-12h)
Here we will investigate the basic statistical properties and some feeling of the data. Do we have sufficient training points? Is the data stationary? What features will be relevant to solve the task at hand? Can we avoid overfitting?
-[Basics of programming with Python and scientific libraries](machine-learning/1_inspection/1_check_basics.ipynb)
If deep learning is powerful to solve a vast majority of problems, machine-learning approches, if successful, provide more insight about the physics at play for solving problems. We will investigate and criticize several supervised and unsupervised approaches to solve the task of classifying clouds of Lidar points (scenes) to infer the type of structure visible therein.
-[Label a subset of a lidar point cloud](machine-learning/3_lidar/label.ipynb)
-[Three-dimensional lidar data classification of complex natural scenes with multi-scale features](machine-learning/3_lidar/lidar.ipynb)
## Friday, June 2<sup>nd</sup>
### Atelier 3: Deep Learning with Pytorch (9h-12h)
When the attempts to solve the problem are unsuccessful or if defining features is a challenge because of the input data's dimension, we can also learn the features that best solve the task. Here we will revisit the problem of Lidar with deep-learning approaches and see how we can efficiently design a neural network to solve the classification task.
-[MNIST classification with a fully connected neural network](deep-learning/session_1a_fcnn.ipynb)
-[MNIST classification with a convolutional neural network](deep-learning/session_1b_cnn.ipynb)
-[Understanding and training PhaseNet on a local dataset](deep-learning/session_2_phasnet.ipynb)
🍴 Lunch break and posters (12h-14h)
### Atelier 4: Deeper dive in artificial intelligence (14h-15h30)
This last class will be a free hands class on various problems. We invite people to bring datasets and tasks of interest so we can sit and try machine-learning solutions for solving them. We will also dive deeper into algorithms, try to improve performances and discuss some good practices in machine and deep learning.
2023-05-19 17:45:22,994 | seisbench | WARNING | Check available storage and memory before downloading and general use of ETHZ dataset. Dataset size: waveforms.hdf5 ~22Gb, metadata.csv ~13Mb
2023-05-30 12:00:44,151 | seisbench | WARNING | Check available storage and memory before downloading and general use of ETHZ dataset. Dataset size: waveforms.hdf5 ~22Gb, metadata.csv ~13Mb
2023-05-19 17:45:23,201 | seisbench | WARNING | Data set contains mixed sampling rate, but no sampling rate was specified for the dataset.get_waveforms will return mixed sampling rate waveforms.
2023-05-30 12:00:44,897 | seisbench | WARNING | Data set contains mixed sampling rate, but no sampling rate was specified for the dataset.get_waveforms will return mixed sampling rate waveforms.