Randsent
Exploring Random Encoders for Sentence Classification
Install / Use
/learn @facebookresearch/RandsentREADME
RandSent
Various methods for random sentence representations, from the paper No Training Required: Exploring Random Encoders for Sentence Classification.
Getting started
If you don't have SentEval yet, download it:
git clone https://github.com/facebookresearch/SentEval.git
Download the evaluation data and place SentEval in the current directory, or provide the path using --senteval_path.
In the paper, we use GloVe embeddings (but nothing stops you from running RandSent with different embeddings):
wget http://nlp.stanford.edu/data/glove.840B.300d.zip
Place glove.840B.300d.txt in the current directory, or provide the path using --word_emb_file.
Requirements
RandSent requires:
- Python 3
- Pytorch 1.0
- Numpy
Examples
These are some example commands:
ESN:
python -u randsent.py --model esn --pooling mean --pos_enc 0 --output_dim 2048 --zero 1 --spectral_radius 1.0 --leaky 0 --concat_inp 0 --stdv 0.1 --activation None --bidirectional 1 --sparsity 0.5 --gpu 1
Random projection (BOREP):
python -u randsent.py --model borep --pooling mean --projection same --pos_enc 0 --bidirectional 0 --output_dim 4096 --activation nn.ReLU --zero 1 --gpu 1
Random LSTM:
python -u randsent.py --model lstm --pooling mean --pos_enc 0 --bidirectional 1 --output_dim 2048 --zero 1 --num_layers 1 --activation None --gpu 1
License
RandSent is CC-NC licensed, as found in the LICENSE file.
Related Skills
node-connect
337.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.2kCommit, push, and open a PR
