Computing the Earth

Here's a short article I wrote for Canterbury Christ Church University's "Expert Comment" series on World Environment Day about the role computer scientists might play in battling climate change... The recent Covid-19 pandemic has given the planet a brief breather from human greenhouse gas emissions. Unfortunately, the long-term outlook for the environment remains bleak, likely … Continue reading Computing the Earth

Install notes: Ubuntu 20.04 LTS on Lenovo x1 Extreme Gen 2

New laptop, new Ubuntu. This post shows step-by-step how I installed Ubuntu 20.04 LTS on a brand new Lenovo x1 Extreme Gen 2. I kept Windows on a smaller (250 GB) partition with the option to boot into either OS. This post will assume you are working from a Windows 10 OS. You should have … Continue reading Install notes: Ubuntu 20.04 LTS on Lenovo x1 Extreme Gen 2

Python: Pandas

Python Data Analysis Library There is a Jupyter Notebook accompanying this post HERE! In a previous session we explored NumPy in detail, learning about array structures and vectorisation. While NumPy is extremely powerful, it has some limitations. For example, data is organised into rows and columns (often in more than 2 dimensions) without labels other … Continue reading Python: Pandas

Python: NumPy

There is a Jupyter Notebook accompanying this post HERE. NumPy is a Python package built around the concept of ndarrays (n-dimensional arrays) along with a suite of efficient functions for applying operations over those arrays. Many of the other important packages for data scientists are built on top of NumPy (e.g. Pandas, scikit-learn). In the … Continue reading Python: NumPy

Python: Arrays

Run and experiment with the code in this tutorial using the Jupyter Notebook Intro Abstraction is one of the fundamental concepts in object-oriented programming. It enables a user to implement an idea without having to grapple with its implementation, or put another way it allows access to a high level concept while hiding away lower-level … Continue reading Python: Arrays

AI Adventures in Azure: hosting and hitting REST APIs using the Azure container registry

This week I had the pleasure of attending the AI for Earth summit at Microsoft HQ where the focus was on developing codes that run locally into APIs hosted on Azure that can be accessed from anywhere. I've got to admit I'm still developing my working knowledge of this process, but I am getting there, … Continue reading AI Adventures in Azure: hosting and hitting REST APIs using the Azure container registry

AI Adventures in Azure: Blob storage

My AI for Earth project is quite memory intensive so I have been learning about ways to take the data storage off the local disk and into the cloud, while still maintaining on the fly access to crucial files on my virtual or local machine. My classification problem started off requiring just a few GB … Continue reading AI Adventures in Azure: Blob storage

AI Adventures in Azure: Ice Surface Classifiers

For this post I will introduce what I am actually trying to achieve with the AI for Earth grant and how it will help us to understand glacier and ice sheet dynamics in a warming world. The Earth is heating up - that's a problem for the parts of it made of ice. Over a … Continue reading AI Adventures in Azure: Ice Surface Classifiers

AI Adventures in Azure: Uploading data to the VM

There are many ways to transfer data from local storage to the virtual machine. Azure provides Blob storage for unstructured data managed through the user's storage account as well as specific storage options for files and tables. There is also the option to use Data Lakes. These are all useful for storing large datasets and … Continue reading AI Adventures in Azure: Uploading data to the VM

AI Adventures in Azure: Choosing VM Size

The main purpose of a VM is to accelerate scripts compared to running locally on a laptop or desktop by outsourcing the computation to a more powerful remote computer. There is an overwhelming number of options for Azure VM sizes, each of which is optimised for a particular purpose, so to get the best performance … Continue reading AI Adventures in Azure: Choosing VM Size