Predicting film genres from their posters with Tensorflow.js
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
Starbeamrainbowlabs 59762dfb05
README: Add a bit more we missed
2 månader sedan
gnuplot GNUplot: change font size 2 månader sedan
images Move some files around 2 månader sedan
src Add comments from live presentation 2 månader sedan
.gitignore Move some files around 2 månader sedan
Film Poster Genres - Slides.odp Further refinement of slides 2 månader sedan
LICENSE Initial commit 2 månader sedan
README.md README: Add a bit more we missed 2 månader sedan
package-lock.json It trains! 2 månader sedan
package.json It trains! 2 månader sedan

README.md

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 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
  • NPM (installed by default with Node.js)
  • A relatively decent CPU
  • Basic knowledge of the command-line / terminal

Installation

First, clone this git repo:

git clone https://git.starbeamrainbowlabs.com/Demos/film-poster-genres.git
cd film-poster-genres

Then, install the dependencies:

npm install

Usage

Training

To train a new model:

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:

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 of the license if you’re interested.