Keras – simplifying deep learning

With the HPC Viper team, the senior RSE has been investigating the python API Keras which vastly simplifies the programming of deep learning computational graphs. Using a number of the free-available data sets including the mnist character sets. The outcomes have been very encouraging and allow the researcher to concentrate on the neural nets interconnections rather than the depth of programming and optimisation that other libraries demand.

A typical neural net can be constructed with 9 lines of code, as below:

model = Sequential()

model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(1,28,28)))
model.add(Convolution2D(32, 3, 3, activation='relu'))

model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))

GTC Europe 2017

Nvidia’s GTC-Europe conference was held at Munich, Germany this year. It not only showcases the latest development in hardware development but is strongly based on the technologies of machine learning and now deep learning. The conference as always starts with a 2/3 hour keynote speech by Nvidia’s founder and CEO Jensen Huang; areas covered were:

  • Where GPU fit in and the re-engagement of Moore’s law
  • Growth of deep learning applications (Nobel prizes in physics and chemistry)
  • Use of image classification and other GPU industries
  • Nvidia’s holodeck technology
  • Intelligent machines (referencing IoT)
  • Autonomous Driverless cars
  • Pegasus (Robo taxi drive PX)
  • Project Isaac (AI robot simulator)


Matlab on Viper

Matlab is a widely used tool in research, thanks in part to the ability to quickly develop code to test solutions without (necessarily) needing to be a expert coder, and a wealth of toolboxes and functions from image and signal processing, to bioinformatics, econometrics and robotics. However, Matlab can be quite resource hungry and if you find your PC struggling or yourself waiting for Matlab to finish processing before doing other things on your computer, or even if you just want to get your Matlab tasks running more quickly and efficiently, then you might want to think about using Matlab on Viper. Why? Continue reading “Matlab on Viper”

Projects, Placements and Fun

Ceph Project

Work has continued on my Intern project, with the virtual cluster completed, I tested various different backup solutions to use with Ceph e.g. BackupPC and BorgBackup. I have also looked into benchmarking the Ceph cluster once installed using tools such as rados bench and fio. The Hard drives for the compute nodes have arrived for the cluster so the next stage will be installing the new hard drives into Viper’s compute nodes ready for the installation of Ceph. Continue reading “Projects, Placements and Fun”

A Year of Service

I’m sitting in a hotel lobby in Amsterdam catching up on work emails and putting the finishing touches to our latest newsletter which will be out shortly. The newsletter celebrates a year of research on Viper, having gone live on the 28th June 2016. It has been a fantastic journey over the last year, meeting new users, hearing of the impact Viper can have on someones research and seeing research outputs published.

Continue reading “A Year of Service”

Write maintainable research code with these 3 weird tricks!

Writing code is not easy.

If you are a researcher and have to write code, especially if you are not from a computer science background, then I salute you.

I have spent the last 4 years (6 years if you include my time at the Open University) studying for an MEng in Software Engineering. I can tell you with certainty that it is not an easy task. I’d like to tell you about something that is even harder than writing code: Reading and maintaining poorly written code! Continue reading “Write maintainable research code with these 3 weird tricks!”