CodingTrain / CodingTrain/Auto-Encoder-Demo

Refactorings

Ouverte
#4 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
12
Forks
14
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hi there :)

I wanted to make the code a bit more readable and organize everything in it's own class and file. I iopened pull request #3 for it.

I also added a DataSource class, which can provide training and testing data. I wanted to make an interface for it but yeah, JS does not have interfaces which is sad. The 3 sources i added are: [Mnist](https://github.com/CodingTrain/Auto-Encoder-Demo/pull/3/files#diff-3f564f5401f32a7d6e2f4cd89ac5e13c34f52518a3ea01435b844f3e73ba4e80), [Random](https://github.com/CodingTrain/Auto-Encoder-Demo/pull/3/files#diff-0be83b3e0a3f3593a840957dda9f5f4a6d73299c0ead498f495936cb043e00b9), and [Arbitrary Images](https://github.com/CodingTrain/Auto-Encoder-Demo/pull/3/files#diff-d1e391fdd5d710572f4958143f8bca131f71ba6b82feca4d844505f30b82a4be). The last one takes what ever is in the images folder, converts it an 28*28 greyscale images and uses it as test and training data.

I also expanded the [NN](https://github.com/CodingTrain/Auto-Encoder-Demo/blob/d1369b08857136a734951e7909da7750ead5c7b4/model.js) by adding more layers to it. It is now divided into an encoder and decoder. It can also save it's state so you don't have to retrain it everytime.

The [ImageTransformer](https://github.com/CodingTrain/Auto-Encoder-Demo/blob/d1369b08857136a734951e7909da7750ead5c7b4/ImageTransformer.js) takes an array of normalized pixel images and saves it to disk. It can also be used to save the encoded images from the NN (you just need to adjust the width and the height of the images which shall be saved to disk, e.g.: `transformer.toImages(model.encode(testData, 'enc', 2, 16));`)

The rest should be pretty much the same, just a bit more organized :) 🚂

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.