Facebook to Release PyTorch 1.0

This release added support for large cloud platforms, a C ++ interface, a set of JIT compilers
10 December 2018   609

Facebook has released a stable version of the library for machine learning PyTorch 1.0. This iteration added support for large cloud platforms, a C ++ interface, a set of JIT compilers, and various improvements.

The stable version received a set of JIT compilers that eliminate the dependence of the code on the Python interpreter. The model code is transformed into Torch Script - a superstructure over Python. Keeping the opportunity to work with the model in the Python environment, the user can download it to other projects not related to this language. So, the PyTorch developers state that the code processed in this way can be used in the C ++ API.

The torch.distributed package and the torch.nn.parallel.DistributedDataParallel module are completely redesigned. torch.distributed now has better performance and works asynchronously with the Gloo, NCCL and MPI libraries.

The developers added a C ++ wrapper to PyTorch 1.0. It contains analogs of Python interface components, such astorch.nn,torch.optim, torch.data. According to the creators, the new interface should provide high performance for C ++ applications. True, the C ++ API is still experimental, but it can be used in projects now.

To improve the efficiency of working with PyTorch 1.0, a Torch Hub repository has been created, which stores pre-trained models of neural networks. You can publish your own development using the hubconf.py file, after which the model will be available for download by any user via the torch.hub.load API.

Support for C extensions and the module torch.utils.trainer were removed from the library.

Facebook released the preliminary version of PyTorch 1.0 at the beginning of October 2018, and in two months the developers brought the framework to a stable state.

Neural Network to Create Landscapes from Sketches

Nvidia created GauGAN model that uses generative-competitive neural networks to process segmented images and create beautiful landscapes from peoples' sketches
20 March 2019   156

At the GTC 2019 conference, NVIDIA presented a demo version of the GauGAN neural network, which can turn sketchy drawings into photorealistic images.

The GauGAN model, named after the famous artist Paul Gauguin, uses generative-competitive neural networks to process segmented images. The generator creates an image and transfers it to the discriminator trained in real photographs. He in turn pixel-by-pixel tells the generator what to fix and where.

Simply put, the principle of the neural network is similar to the coloring of the coloring, but instead of children's drawings, it produces beautiful landscapes. Its creators emphasize that it does not just glue pieces of images, but generates unique ones, like a real artist.

Among other things, the neural network is able to imitate the styles of various artists and change the times of the day and year in the image. It also generates realistic reflections on water surfaces, such as ponds and rivers.

So far, GauGAN is configured to work with landscapes, but the neural network architecture allows us to train it to create urban images as well. The source text of the report in PDF is available here.

GauGAN can be useful to both architects and city planners, and landscape designers with game developers. An AI that understands what the real world looks like will simplify the implementation of their ideas and help you quickly change them. Soon the neural network will be available on the AI ​​Playground.