shahidul034's picture
Add files using upload-large-folder tool
c165272 verified

Install and Run Guide

This guide explains how to install dependencies and run the IMDB Transformer experiments in assignment_llm_1/assignment_text.

First, enter this path using cd:

cd assignment_llm_1/assignment_text

What is added in the code

  • Model-size experiment support in assignment_text/code/c1.py:
    • small: d_model=64, num_heads=4, num_layers=1, d_ff=128
    • medium: d_model=128, num_heads=8, num_layers=2, d_ff=256
    • large: d_model=256, num_heads=8, num_layers=4, d_ff=512
  • Automatic experiment report generation:
    • assignment_text/saved_model/transformer_imdb_experiment_report.md
  • Model-size selection in analysis script:
    • python code/c1_analysis.py --model_size small|medium|large ...
  • Some qualitative error-analysis instances are available in:
    • assignment_text/documentation/error_analysis.json

1) Go to the project folder

cd ./assignment_llm_1/assignment_text

2) Create and activate environment

Option A: Conda (recommended if you use Conda)

conda create -n transformer_hw python=3.10 -y
conda activate transformer_hw
python -m pip install --upgrade pip

3) Install dependencies

If there is a requirements.txt file in this folder, run:

pip install -r requirements.txt

4) Train all model sizes (small, medium, large)

Run training from the code directory:

python code/c1.py

This will:

  • train small, medium, and large Transformer models,
  • save checkpoints under assignment_llm_1/assignment_text/saved_model/,
  • create a Markdown experiment report at:
    • assignment_llm_1/assignment_text/saved_model/transformer_imdb_experiment_report.md

5) Evaluate and analyze a selected model size

From the same code directory:

python code/c1_analysis.py --split test --model_size small --num_examples 5
python code/c1_analysis.py --split test --model_size medium --num_examples 5
python code/c1_analysis.py --split test --model_size large --num_examples 5

Arguments:

  • --split: dataset split to evaluate (test or train)
  • --model_size: one of small, medium, large
  • --num_examples: number of misclassified examples to print

6) (Optional) Use a custom checkpoint path directly

If you want to bypass --model_size, pass an explicit checkpoint:

python code/c1_analysis.py \
  --split test \
  --checkpoint ../saved_model/transformer_imdb_large.pt \
  --num_examples 5

7) Expected output files

After running c1.py, these files should exist in assignment_llm_1/assignment_text/saved_model/:

  • transformer_imdb_small.pt
  • transformer_imdb_medium.pt
  • transformer_imdb_large.pt
  • transformer_imdb.pt (summary/compatibility checkpoint)
  • transformer_imdb_experiment_report.md (human-readable report)