Giter VIP home page Giter VIP logo

swiggityspeare's Introduction

swiggityspeare

forthebadge

Character-based recurrent neural networks wrapped into an IRC chatbot. Initially designed to be colloquial English with a touch of Shakespeare, the network can't be open-sourced for privacy reasons: training data came from IRC users who didn't consent to open-sourcing.

tl;dr environment setup

Swiggityspeare now comes with an easy setup script to get started! You'll still need to install CUDA manually, but here's the process:

  • install the CUDA Toolkit
  • git clone https://github.com/raidancampbell/swiggityspeare.git --recursive
  • cd swiggityspeare
  • ./setup.sh
  • java -jar swiggityspeare.jar -c "#swag #cwru" -n babbyspeare

setup.sh will ask to install Torch, init+update the git submodule for Andrej Karpathy's char-rnn, move the neural network into place, and install the required packages with luarocks.

dependencies

Swiggity's Java dependencies are all taken care of at compile time with the .jar files in the dependencies directory.

Other than CUDA, all of swiggity's system dependencies are best installed using setup.sh, as explained above. Otherwise, manually install Torch, git submodule init and git submodule update, and use luarocks (provided with Toch) to install cunn cutorch nngraph optim.

Test the environment with a quick th train.lua, whose default settings should begin training from a Shakespeare dataset included in the char-rnn repository.

It's build-your-own neural network. A sample network is in dependencies/irc_network.t7: it's a quick Shakespeare-trained network. This needs to be moved into the newly cloned char-rnn directory to work. setup.sh manages the initial copying for you.

At this point usage is pretty simple. The project is based on IntelliJ, so just build->build artifacts->swiggityspeare.jar, or use the prebuilt swiggityspeare.jar provided.

usage

Execution is a simple java -jar swiggityspeare.jar -n bot_nick. However, the jar expects the dependencies directory to be alongside it (or the configuration to be set), so that it knows where the char-rnn code is, and can execute it. The prepackaged .t7 neural network needs to be moved into the cloned char-rnn directory.

When in doubt, read one of the .prop files for options. A new one is generated for each bot nick.

Contributions

Git-workflow-style fork-commit-pullreqest. You kids are all better at git than I am, so I'm learning from you here.

License

MIT

swiggityspeare's People

Contributors

ajm188 avatar raidancampbell avatar thomasrussellmurphy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.