Final Degree Project
Estimating thread densities in X-rays of old canvases with PyTorch
Author/s | Leitner, Max |
Director | Murillo Fuentes, Juan José |
Department | Universidad de Sevilla. Departamento de Teoría de la Señal y Comunicaciones |
Publication Date | 2023 |
Deposit Date | 2023-09-25 |
Academic Title | Universidad de Sevilla. Grado en Ingeniería de Tecnologías de Telecomunicación |
Abstract | The goal of the following student work is to rewrite a model, implemented in Keras, to PyTorch. Those models
execute a thread counting task on images, representing 1cm squared patches of radiographs, which are taken
from ... The goal of the following student work is to rewrite a model, implemented in Keras, to PyTorch. Those models execute a thread counting task on images, representing 1cm squared patches of radiographs, which are taken from old paintings. Both models area trained and compared in terms of accuracy and efficiency, which includes resource consumption in form of memory and runtime. By evaluating those metrics, it can be determined how both frameworks behave and if a performance boost can be achieved through the change of the framework. To answer this question, structural differences between the model implementations of both frameworks are analyzed and the gained knowledge is used to recreate the model and the corresponding training structures. Each model is trained 10 times with the same training parameters, after which the best performing model is selected to perform an additional comparison on the test dataset. During the training, performance measurements are taken. The experiment showed that models from both frameworks equally performed in terms of accuracy. PyTorch does perform worse regarding training speed. On average, it´s models take 1,7 times as long to finish an epoch of their training. On the other hand, PyTorch thrives in the matter of memory consumption, consuming only one third of the available GPU memory with no additional allocation. Keras utilized the full 16GB of GPU memory, while still allocating 12GB of memory additionally. Without an individual adaptation of training parameters, no overall improvement could be achieved on the dataset, through a change of the framework. El objetivo del siguiente trabajo de estudiante es reescribir un modelo, implementado en Keras, a PyTorch. Estos modelos ejecutan una tarea de recuento de hilos en imágenes en recortes de 1cm cuadrado de radiografías, tomados ... El objetivo del siguiente trabajo de estudiante es reescribir un modelo, implementado en Keras, a PyTorch. Estos modelos ejecutan una tarea de recuento de hilos en imágenes en recortes de 1cm cuadrado de radiografías, tomados de pinturas antiguas. Ambos modelos se entrenaron y compararon en términos de precisión y eficiencia, lo que incluye el consumo de recursos en forma de memoria y tiempo de ejecución. Evaluando esas métricas, se puede determinar cómo se comportan ambos entornos y si se puede conseguir un aumento del rendimiento mediante el cambio de entorno. Para responder a esta pregunta, se analizan las diferencias estructurales entre las implementaciones del modelo de ambos entornos y los conocimientos adquiridos se utilizan para recrear el modelo y las estructuras de entrenamiento correspondientes. Cada modelo se entrena 10 veces con los mismos parámetros de entrenamiento, tras lo cual se selecciona el modelo con mejor rendimiento para realizar una comparación adicional en el conjunto de datos de prueba. Durante el entrenamiento se realizan mediciones del rendimiento. El experimento demostró que los modelos de ambos entornos obtuvieron los mismos resultados en términos de precisión. PyTorch obtiene peores resultados en cuanto a velocidad de entrenamiento. De media, sus modelos tardan 1,7 veces más en terminar una época de entrenamiento. Por otro lado, PyTorch destaca en lo que respecta al consumo de memoria, ya que sólo consume un tercio de la memoria disponible en la GPU sin ninguna asignación adicional. Keras utilizó la totalidad de los 16 GB de memoria de la GPU, sin dejar de asignar 12 GB de memoria adicional. Sin una adaptación individual de los parámetros de entrenamiento, no se pudo lograr ninguna mejora global en el conjunto de datos mediante un cambio de entorno. |
Citation | Leitner, M. (2023). Estimating thread densities in X-rays of old canvases with PyTorch. (Trabajo Fin de Grado Inédito). Universidad de Sevilla, Sevilla. |
Files | Size | Format | View | Description |
---|---|---|---|---|
TFG4625_Max Leitner.pdf | 2.194Mb | [PDF] | View/ | |