Stranger Things – recensione

Una recensione senza spoiler invalidanti(!), nonostante sono sicuro di essere come sempre l’unico stronzo che non l’aveva ancora visto. Bene, si comincia…

Continua a leggere

Annunci

Librem 5, un telefono per pochi ma buoni.

Per chi non fosse già interessato di cose FLOSS questa potrebbe essere una novità. In sintesi c’è Purism, una azienda americana che da un paio d’anni produce computer focalizzati sulla privacy, la sicurezza e l’essere open. Fanno prodotti assolutamente di nicchia per chi, anche nella tecnologia, ha un approccio ideologico.

Una devboard con SoC i.MX 8M, fonte:qui

Poco meno di un mese e mezzo fa hanno lanciato una campagna di crowdfounding per finanziare lo sviluppo di uno smartphone, il librem 5, che segua le stesse linee di principio che si pongono per i loro computer. La campagna aveva l’obiettivo di raggiungere 1.500.000 dollari. Uso il passato perché, con un paio di settimane di anticipo il traguardo è stato superato e quindi il progetto si farà. Continua a leggere

Data augmentation options in Tensorflow object recognition

Recently I’ve been playing a bit with machine learning and Tensorflow and I struggled with the myriad of parameters of the library. So as a reminder to myself and for everybody’s convenience I’m posting some notes here.

I started using pretrained detection models like ssd mobilenet, inception ecc. Every one of these comes with a config sample. Training with your data you may feel the need to change some parameters. In my case for example I didn’t want to generate training data by flipping the image horizontally so I went to modify the data augmentation section of the config file.

This is the section for horizontal flip as found on the config file:

data_augmentation_options {
random_horizontal_flip {
}
}

In my data the color of the object is not that important, so I decided to change it to randomly convert the image to grayscale. To do so you have to change the config file as follows:

data_augmentation_options {
random_rgb_to_gray {
}
}

But the preprocessor has a default value for the probability of an image to be randomly converted. In the case of rgb_to_gray the default value is 0.1. It took me some time to figure out how to format the config file to insert the desired value without raising an error in the parser. This seems to work.

data_augmentation_options {
random_rgb_to_gray {
probability : 0.5
}
}

Finally, preprocessor.proto has a list of all the possible option and an explanation of what do they do.
I hope that this could help who, like me, sometimes feels lost when using Tensorflow.

edit 19/10/2017:

The tensorflow github repo structure changed so the link were broken. I updated them but there is no way to know when something will change again. In addition to search the files by yourself in the tensorflow repo if the link are broken, these are the steps accepted by the preprocessor at present and the default values.

NormalizeImage normalize_image = 1;
RandomHorizontalFlip random_horizontal_flip = 2;
RandomPixelValueScale random_pixel_value_scale = 3;
RandomImageScale random_image_scale = 4;
RandomRGBtoGray random_rgb_to_gray = 5;
RandomAdjustBrightness random_adjust_brightness = 6;
RandomAdjustContrast random_adjust_contrast = 7;
RandomAdjustHue random_adjust_hue = 8;
RandomAdjustSaturation random_adjust_saturation = 9;
RandomDistortColor random_distort_color = 10;
RandomJitterBoxes random_jitter_boxes = 11;
RandomCropImage random_crop_image = 12;
RandomPadImage random_pad_image = 13;
RandomCropPadImage random_crop_pad_image = 14;
RandomCropToAspectRatio random_crop_to_aspect_ratio = 15;
RandomBlackPatches random_black_patches = 16;
RandomResizeMethod random_resize_method = 17;
ScaleBoxesToPixelCoordinates scale_boxes_to_pixel_coordinates = 18;
ResizeImage resize_image = 19;
SubtractChannelMean subtract_channel_mean = 20;
SSDRandomCrop ssd_random_crop = 21;
SSDRandomCropPad ssd_random_crop_pad = 22;
SSDRandomCropFixedAspectRatio ssd_random_crop_fixed_aspect_ratio = 23;

Monte Fuji – Subashiri trail.

Dopo il bel giro sulle Alpi giapponesi per concludere in bellezza le vacanze estive sono stato anche sul monte Fuji. Per la seconda volta. Infatti ero già stato in cima alla vetta più alta del Giappone alcuni anni fa, quando riguardo alla montagna non avevo alcun interesse particolare. Ricordo anche che non mi emozionò particolarmente, per vari motivi. Ma cominciamo dall’inizio. Continua a leggere