Andrea Madotto bio photo

Andrea Madotto

Deep learning, Machine Learning, Learning To Learn, Natural Language Processing.

Curriculum Twitter   G. Scholar LinkedIn Github Stackoverflow e-Mail

Coding Projects I Have Worked on

“There can’t be beauty and utility? “ - Leonardo da Vinci

Working Experience

  • Pytorch implementation of the Universal Transformer
    Simple and self-contained implementation of the Universal Transformer (Dehghani, 2018) in Pytorch. The basic Transformer model has been taken from Torchnlp and util now it has been implemented: Universal Transformer Encoder Decoder, with position and time embeddings, and the Adaptive Computation Time (Graves, 2016) as describe in the paper. We benchmarked, still overfitting problem, our implementation using bAbI data 10k.

  • Parallel implementation Jacobi Iterative Method
    The aim of this project is to parallelize the Jacobi Iterative Method. Implemented three versions of the code using C++,a sequential one and two parallel ones. The first parallel version has been implemented using FastFlow, and the second one using C++ pthread. Each code version has been evaluated using different matrix sizes, and measures (e.g., Completion Time, Scalability, Speed up, and Efficiency). All the conducted experiments have been run using a Xeon Phi coprocessor, which has 60 cores with 4 contexts each, clocked at 1GHz.

Working Experience

  • Dynamic HTML render and a Recursive Descendent Parser
    In this work, we implement a library of Web Components similar to React.JS, which maintains its internal Virtual DOM representation, and optimized the render of the HTML page. Indeed, we implement functions which modifies only the parts of the DOM element that has been changed since the previous rendering. Furthermore, we implemented a recursive descent parser that introduces the ability to express components in a style such as JSX, reading from an input stream. The programming language used in this project is JavaScript.

  • PythonITA
    This work is a group project of the Pisa CoderDojo and a batch of computer science students. Here, we fork the Cpython repository, and we extend the grammar of the Python languange in order to use Italian key words as native constructor. Furthermore, to fully integrate the new keys, we modify the language interpreter is some parts, such as the EBNF grammar (i.e. adding new production), the AST (abstract syntax tree), and the built-in functions. In addition, we modify the standard IDLE to have an editor that highlight and hints the newly added words. This project has been presented in the keynote of Toscana DojoCon, and it will be used for education’s purpose as toy programming language.