Skip to content
Sentiment Analysis with LSTMs in Tensorflow
Jupyter Notebook
Branch: master
Clone or download
adeshpande3 Merge pull request #38 from mvinoba/master
Add support instructions for TF v1.2 and later
Latest commit e4588db Jun 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Images first commit Jun 8, 2017
.gitignore add docker support Mar 17, 2018
Dockerfile add docker support Mar 17, 2018
LICENSE Create LICENSE Apr 19, 2018
Oriole LSTM.ipynb Added maxLengthCheck Feb 3, 2018
Pre-Trained LSTM.ipynb Added decoding line Oct 4, 2017
README.md Add support instructions for TF v1.2 and later Jun 5, 2018
models.tar.gz first commit Jun 8, 2017
training_data.tar.gz first commit Jun 8, 2017

README.md

Sentiment Analysis with LSTMs

This repository contains the iPython notebook and training data to accompany the O'Reilly tutorial on sentiment analysis with LSTMs in Tensorflow. See the original tutorial to run this code in a pre-built environment on O'Reilly's servers with cell-by-cell guidance, or run these files on your own machine. There is also another file called Pre-Trained LSTM.ipynb which allows you to input your own text, and see the output of the trained network.

Downloading Data

Before running the notebook, you'll first need to download all data we'll be using. This data is located in the models.tar.gz and training_data.tar.gz tarballs. We will extract these into the same directory as Oriole LSTM.ipynb. As always, the first step is to clone the repository.

git clone https://github.com/adeshpande3/LSTM-Sentiment-Analysis.git

Next, we will navigate to the newly created directory and run the following commands.

tar -xvzf models.tar.gz
tar -xvzf training_data.tar.gz

Requirements and Installation

In order to run the iPython notebook, you'll need the following libraries.

TensorFlow 1.2 and later

In order to load the models without errors you need to convert the checkpoints using the converter provided by TensorFlow:

wget https://raw.githubusercontent.com/tensorflow/tensorflow/master/tensorflow/contrib/rnn/python/tools/checkpoint_convert.py
python checkpoint_convert.py models/pretrained_lstm.ckpt-90000 converted-checkpoints/pretrained_lstm-90000.ckpt

You should also replace the original models folder if you don't want to modify the code:

rm -rf models
mv converted-checkpoints models

Docker

With Docker, you could just mount the repository and exec it.

  1. Install Docker. Follow the docker guide.

  2. Build docker image

    cd LSTM-Sentiment-Analysis
    docker build -t="@yourname/tensorflow_1.1.0_py3" .
  3. Run the container from the image

    docker run -p 8888:8888 --name=tensorflow_yourname_py3 -v /@YourDir/LSTM-Sentiment-Analysis:/LSTM-Sentiment-Analysis -it @yourname/tensorflow_1.1.0_py3

    and visit the URL(http://localhost:8888/)

  4. Stop and restart the container

    docker stop tensorflow_yourname_py3
    docker start tensorflow_yourname_py3
    docker attach tensorflow_yourname_py3

    If jupyter is down, relaunch it by using the command below.

    cd LSTM-Sentiment-Analysis
    jupyter notebook --ip=0.0.0.0 --allow-root

Installing Anaconda Python and TensorFlow

The easiest way to install TensorFlow as well as NumPy, Jupyter, and matplotlib is to start with the Anaconda Python distribution.

  1. Follow the installation instructions for Anaconda Python. We recommend using Python 3.6.

  2. Follow the platform-specific TensorFlow installation instructions. Be sure to follow the "Installing with Anaconda" process, and create a Conda environment named tensorflow.

  3. If you aren't still inside your Conda TensorFlow environment, enter it by opening your terminal and typing

    source activate tensorflow
  4. If you haven't done so already, download and unzip this entire repository from GitHub, either interactively, or by entering

    git clone https://github.com/adeshpande3/LSTM-Sentiment-Analysis
  5. Use cd to navigate into the top directory of the repo on your machine

  6. Launch Jupyter by entering

    jupyter notebook

    and, using your browser, navigate to the URL shown in the terminal output (usually http://localhost:8888/)

You can’t perform that action at this time.