# film-poster-genres > Predicting film genres from their posters with Tensorflow.js The example code & slide deck for a talk I gave on getting started with AI. A link tot he unlisted YouTube video is available upon request (because it contains my face, and this is a public repo) - see [my website](https://starbeamrainbowlabs.com/) for ways to get in touch. ## Dataset The dataset used with this demo can be found here: https://nextcloud.starbeamrainbowlabs.com/index.php/s/wmCdL4tX3HHGAFD The format is as follows: ``` + dataset_dir/ + train/ + 1234,Comedy,Fantasy.jpg + 4321,Western,Short,Drama.jpg + ..... + validate/ + 6789,Drama,Mystery,Thriller.jpg + 9876,History,Documentary,Animation.jpg + ..... ``` The filenames of the images take the following format: `ID,GENRE_1,GENRE_2,GENRE_N.jpg`. ## System / User Requirements - [Node.js](https://nodejs.org/) - [NPM](https://www.npmjs.com/) (installed by default with Node.js) - A relatively decent CPU - Basic knowledge of the command-line / terminal ## Installation First, clone this git repo: ```bash git clone https://git.starbeamrainbowlabs.com/Demos/film-poster-genres.git cd film-poster-genres ``` Then, install the dependencies: ```bash npm install ``` ## Usage ### Training To train a new model: ```bash node src/index.mjs train --input path/to/dataset_dir --output path/to/output_dir ``` The output directory will look like this: ``` + output_dir/ + metrics.stream.json + checkpoints/ + 0/ + 1/ + 2/ + 3/ ``` ## Predicting To make a prediction using an existing model: ```bash node src/index.mjs predict --input path/to/image.jpg --ai-model path/to/checkpoint_dir/ ``` The result will be written to the standard output. Extra debugging data is written to the standard error, but this can be ignored. ## Contributing Contributions are very welcome! Git patches are preferred - I can move this repo to GitHub if that makes it easier. Please mention in your contribution that you release your work under the MPL-2.0 (see below). ## Licence This code is released under the Mozilla Public License 2.0. The full license text is included in the `LICENSE` file in this repository. Tldr legal have a [great summary](https://tldrlegal.com/license/mozilla-public-license-2.0-(mpl-2)) of the license if you're interested.