Do Intel GPUs dream of training neural networks?

EURECOM

Do Intel GPUs dream of training neural networks? That’s a question deep learning practitioners, including myself, probably have wondered about for a very long time. During the past 4 months, along with my colleague and great friend Paolo Volpe, we’ve tried to find an answer to this question. The answer is that not only do they dream of doing that, but they are capable of doing so, and in the future, we might see a complete paradigm shift in the way we work with processing units, all thanks to the work of Intel in developing a common framework called oneAPI. Therefore, if you stick around at the end of this article you’ll be able to train your neural network on an Intel GPU.

Read more...

Recognition of art style using basic Machine Learning Techniques

EURECOM

In the course of “Machine Learning and Intelligent System” held at EURECOM, as mandatory course project, along with my colleague Luca Parrini, I worked on a machine learning algorithm that applies some basic machine learning techniques to the features extracted from a series of paintings coming from the Wikiart datasets.

Read more...

Setup Multiple Wireless Microphone using Android (aka. No-mic Karaoke Night with Ultrastar)

Personal Project

Preface

Luckily both my sister and I this Christmas were able to celebrate with our family, since I only had work that I was able to do online, and she was on break from school. However, being at home all the time due to lockdown can get pretty boring, pretty fast. Therefore we decided we were gonna do what we do best: be a nuisance to our neighbor, specifically we decided that we were gonna have a Karaoke night.

Read more...

Setup Cards Against Humanity clone on Linux ARM Board (ODROID-C1, Rasperry Pi...)

Personal Project

Preface (useless as usual, you may just skip to the guide)

Since I’m currently in lockdown due to the current COVID-19 outbreak I’ve had to find ways to spend my free time while staying at home. After hours of very intricate discussions on Telegram a couple of friends and I agreed that a good solution would be to play Cards Against Humanity together. Using an external sounded incredibly boring, therefore what I did was configure my own Pretend You’re Xyzzy server (Pretend You’re Xyzzy is a cards against humanity clone which from now own we will simply refer to as PYX).

The source code documentation (and surprisingly even some Instructables) suggested to run it directly from Maven, which takes care of building the application and spinning up a jetty server, however that solution is incredibly inefficient and wastes a ton of resources on a machine with little memory. Therefore after using that approach for testing I configured it for “production” (if we can call it that) using an actual Jetty server and modified my NGINX configuration to integrate that application along with the others I already have, where with integrate I mean serving the static content.

This guide will be divided in two parts. The first one is the “basic setup”, which includes only how to setup a Jetty server with Pretend Your Xyzzy. The second one is an extra section that explains how to integrate the application with NGINX, in case you have other platforms you want to keep running (a simple blog, cloud, whatever…).

Read more...

Generate music score from audio sample using FFT

Politecnico di Torino

During my BSc degree, along with my two colleagues Maria Letizia Amoruso and Francesco Gallo, we devised an elementary way to obtain the music score starting from an audio sample played by a single instrument.

The two main challenges were:

  • Identifying the beginning and ending of each note
  • Identifying the pitch from the obtained sub-samples
Read more...

Securing your Raspberry Pi (or ARM board) from DDos with Telegram

Preface (possibly useless unless you really want to know how I came up with this crazy idea)

Halfway through my bachelor degree I realized that Dropbox’s 2GB of space weren’t nearly sufficient to satisfy my “cloud needs”. So searching for an alternative I found this great project called Nextcloud. Forked from the (almost) namesake “owncloud”, Nextcloud is a PHP+SQL based application that allows you to host your own cloud, even on a simple development board like the Raspberry Pi.

Since I already used my ODROID C1 as a server, I decided it would be interesting to see if it would be able to host a Nextcloud instance with 4-5 users.

Initially the results were pretty good, for a couple of months the server could easily handle large data transfers over WebDAV (I’m talking about GBs of MATLAB simulations) and using it with multiple users was not an issue at all, however I kept noticing that sometimes the server would suddenly become unreachable. At first I didn’t worry too much about it until one day the instability became unbearable, in fact at a certain point the server would be unreachable almost 80% of the time.

Read more...

Hello World!

Guess I’ll actually be moving my website to Jekyll. Much easier to manage and much simpler! Also lots of cool themes available.

Read more...