{"id":15646270,"url":"https://github.com/siddk/deep-nlp","last_synced_at":"2025-08-02T17:06:14.113Z","repository":{"id":68633382,"uuid":"59247641","full_name":"siddk/deep-nlp","owner":"siddk","description":"Tensorflow Tutorial files and Implementations of various Deep NLP and CV Models.","archived":false,"fork":false,"pushed_at":"2016-10-03T18:14:05.000Z","size":75377,"stargazers_count":47,"open_issues_count":0,"forks_count":22,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-30T12:20:52.932Z","etag":null,"topics":["deep","mnist-nn","neural-network","nlp","tensorflow","tensorflow-tutorials"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/siddk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-05-19T22:34:43.000Z","updated_at":"2025-01-23T06:11:08.000Z","dependencies_parsed_at":"2023-07-23T00:32:35.136Z","dependency_job_id":null,"html_url":"https://github.com/siddk/deep-nlp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/siddk/deep-nlp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siddk%2Fdeep-nlp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siddk%2Fdeep-nlp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siddk%2Fdeep-nlp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siddk%2Fdeep-nlp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/siddk","download_url":"https://codeload.github.com/siddk/deep-nlp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siddk%2Fdeep-nlp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268423872,"owners_count":24248107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep","mnist-nn","neural-network","nlp","tensorflow","tensorflow-tutorials"],"created_at":"2024-10-03T12:12:10.481Z","updated_at":"2025-08-02T17:06:14.069Z","avatar_url":"https://github.com/siddk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deep - NLP #\n\nThis repository contains Tensorflow implementations of various deep learning models, with a focus\non problems in Natural Language Processing. Each individual subdirectory is self-contained, addressing\none specific model. \n\n## Models ##\nThe following models are implemented:\n\n+ **mnist_nn/**: A simple one-layer classifier implemented as part of the Tensorflow Tutorial for the\n                 MNIST Handwriting Classification task. Very simple model, contained in a single \n                 python script, just to show off the Tensorflow basics.\n                 \n+ **mnist_cnn/**: A three-layer Convolutional Neural Network for the MNIST Handwritten Digit Classification task.\n                 \n+ **langmod_nn/**: A three-layer Feed-Forward Bigram Language model that tries to predict the next \n                   word in the corpus given the current word. \n\n+ **langmod_rnn/**: A Recurrent Neural Network Language Model. Given a fixed-sized context window, predict the time-shifted \n                    (next) words in the sequence.\n                    \n+ **memory_networks/**: Implementation of End-to-End Memory Networks: https://papers.nips.cc/paper/5846-end-to-end-memory-networks.pdf                    \n\n+ **seq2seq_mt/**: Implementation of Encoder-Decoder Machine Translation for French-English Translation.\n\n+ **multilingual_embeddings/**: Multi-Task Translation implementation, for the purpose of learning language-agnostic sentence                                 embeddings (encoding multiple source languages in the same low-dimensional space).\n                   \n+ **cifar_cnn/**: A multi-layer Convolutional Neural Network that follows the AlexNet convention for\n                  the CIFAR-10 image classification task. Given an image, classify it as an \n                  airplane, automobile, bird, cat, deer, dog, frog, horse, ship, or truck.\n\n+ **deep_q/**: Implementation of Deep Q-Learning for Atari Pong.\n\n+ **variational_autoencoder/**: Variational Autoencoder implementation, compresses and decodes MNIST digits, with      \n                                demonstration of walking latent space.\n          \n                  \n## Project Setup ##\nThere are a lot of ways to set up and train Tensorflow models, which can be very confusing. With\nthe exception of the simple MNIST NN from the Tensorflow Tutorial, each of the above model \nsubdirectories is broken up in the following way:\n\n**train.py**: This file is the core file for training a given model (think of this as the main \n              script for the entire directory). This script loads the data, performs any \n              preprocessing to format the data for training and testing, and then builds and trains\n              the model. Usually contains code to output training details to stdout, as well as \n              code to save/serialize the model parameters periodically.\n              \n**preprocessor/**: Subdirectory that contains any data processing code (i.e. code to read raw data\n                   like text or images, and convert it to numerical form for training/testing).\n                   \n**model/**:\n  \n  - **model.py**: Class definition for the model's neural network. Tensorflow at its core is a \n                  system for building symbolic computational graphs, and everything in Tensorflow\n                  is either expressed as a raw Tensor, or a Tensor operation. Because of this,\n                  building a model consists of building different graphs and operations to handle\n                  the inference of the model, how to evaluate the loss/cost, and how to perform\n                  training (usually via backpropagation). \n                  Because of this, each class definition consists of the following three functions:\n    \n    + *inference*: This is the crux of any neural network. This function is responsible for building\n                   all the layers of the network, from the input, all the way to the final layer,\n                   just before the loss is calculated.\n    \n    + *loss*: Using the output from the *inference* function, this function evaluates the loss used\n              for training the model. For example, the loss function might take in the *logits* from\n              the softmax layer of a classification model (say like in the MNIST model), and calculate\n              the cross-entropy loss with the true labels of the input data.\n              \n    + *train*: The train function builds the training operation, given the cost calculated in the\n               *loss* function. This function computes the gradients, and sets up the optimizer\n               (i.e. SGD, Adam, Adagrad, etc.). Any learning rate decay is also performed during\n               this step.\n               \n**data/**: A data subdirectory, for storing raw data.\n\n**log/**: A log directory, consisting of two parts - summaries, and checkpoints. Each of the above\n          Tensorflow models have code to store Tensorboard-formatted Summary files to track things\n          like loss over time, accuracy, gradients, etc, and these logs are stored in `logs/summaries`.\n          The models also have code to save and serialize all the parameters during training, allowing\n          for easy restoration of interrupted training, or for just loading fully trained models.\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiddk%2Fdeep-nlp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiddk%2Fdeep-nlp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiddk%2Fdeep-nlp/lists"}