Technical Resources

These are resources to consult if you're looking to supplement knowledge gained from club lectures.

Nontechnical Resources

Here are some resources if you are interested in learning more about the field of AI in a nontechnical manner:

Computational Resources

Unfortunately, TJ has a severe lack of GPUs. When the Computer Systems lab was upgraded a few years ago, the aging CPUs were replaced with then-modern i5-4690s. However, the GPUs remain GT 730s. If you would like to run your code on TJ machines, we recommend you use the computer called zoidberg, which has modern GPUs. Simply ssh using the following commands:
ssh zoidberg

All current students can access TJ syslab machines through ssh. Follow these instructions. If you would like to transfer data to the high performance computing cluster, take a look at this guide.

Installing Libraries on TJ Linux Machines

All the necessary dependencies (CUDA, cuDNN) have been installed for TensorFlow, Keras, and PyTorch on the Linux machines. Assuming the library you want hasn't already been installed, you'll need to install it with the --user flag. Use these commands on machines with GPUs for TensorFlow and Keras, respectively:
pip3 install tensorflow-gpu --user
pip3 install keras --user

Note that Keras requires a backend engine (TensorFlow is recommended).

For PyTorch, check the latest commands on the website. Select the proper Python and CUDA versions. You can check your python version by typing python and the CUDA version with nvcc --version.

If you are working on a standard Linux machine without a decent GPU, you'll need to install the CPU versions of these libraries. For TensorFlow, installation instructions are available here. For Pytorch, ensure you select "None" for the CUDA version. As always, you will need to add --user to all commands if you aren't working in a virtual environment, or don't have root.

Installing Libraries on Your Own Linux Machine

If you want to install these libraries on your own Linux computer, just remove the --user for the above commands, since you presumably have root. If you don't have a half-decent Nvidia GPU, running large deep learning models will take unreasonably long, and it is advisable you use the TJ GPU cluster. If you do have a GPU, make sure you have CUDA and cuDNN configured beforehand.

Libraries on Windows Machines

Most machine learning libraries are compatible with Windows, especially CPU versions. GPU-dependent deep learning libraries are often slower and less reliable on Windows, so use Linux if you can.

Machine Learning Club recommends using scikit-learn for simple machine learning. You can install it using:
pip3 install -U scikit-learn

If you are trying to run on TJ Windows machines, a bit of a workaround is required due to restrictions. Follow these instructions for scikit-learn.

Instructions for installing scikit-learn on TJHSST Windows Machines

If you can't get that to work, use our Instructions for ssh'ing into the syslab

Basic Vim and Nano Instructions

Python 2 or 3?

Machine Learning Club recommends Python 3 whenever possible. Almost all libraries have support for the latest version. Even though most support Python 2.7 as well, Python 2 support ends in 2020, so make the switch if you haven't already!