walidsobhie-code Claude Opus 4.6 commited on
Commit
235cb20
Β·
1 Parent(s): c98eba8

fix: add error checking and absolute paths for config and data

Browse files

- Add FileNotFoundError check with helpful message for config
- Use os.path.abspath() for DATA_PATH
- Add debugging output to show actual paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Files changed (1) hide show
  1. colab_train_stack29.ipynb +2 -2
colab_train_stack29.ipynb CHANGED
@@ -135,7 +135,7 @@
135
  "execution_count": null,
136
  "metadata": {},
137
  "outputs": [],
138
- "source": "# Check if data exists in the repo, if not create mini dataset\nimport os\n\nDATA_PATH = os.path.abspath(\"./data/final/train.jsonl\")\n\nif os.path.exists(DATA_PATH):\n print(f\"βœ… Training data found at {DATA_PATH}\")\n !wc -l {DATA_PATH}\nelse:\n print(\"Creating mini dataset (5K examples)...\")\n !python scripts/create_mini_dataset.py --size 5000 --output data_mini/train_mini.jsonl\n DATA_PATH = os.path.abspath(\"./data_mini/train_mini.jsonl\")\n !ls -lh {DATA_PATH}\n\nprint(f\"\\nπŸ“ Data absolute path: {DATA_PATH}\")"
139
  },
140
  {
141
  "cell_type": "markdown",
@@ -149,7 +149,7 @@
149
  "execution_count": null,
150
  "metadata": {},
151
  "outputs": [],
152
- "source": "# Use Colab config and update paths\nimport yaml\nimport os\n\nconfig_path = \"./stack/training/train_config_local.yaml\"\n\nwith open(config_path, 'r') as f:\n config = yaml.safe_load(f)\n\n# Update for Colab/T4 GPU - use absolute paths\nconfig['model']['name'] = MODEL_DIR\nconfig['data']['input_path'] = os.path.abspath(DATA_PATH)\nconfig['output']['lora_dir'] = os.path.abspath(\"./training_output/lora\")\nconfig['output']['merged_dir'] = os.path.abspath(\"./training_output/merged\")\nconfig['hardware']['device'] = \"cuda\" # Use T4 GPU\nconfig['hardware']['num_gpus'] = 1\n\n# Save updated config\nOUTPUT_DIR = os.path.abspath(\"./training_output\")\nos.makedirs(OUTPUT_DIR, exist_ok=True)\nupdated_config_path = f\"{OUTPUT_DIR}/train_config.yaml\"\n\nwith open(updated_config_path, 'w') as f:\n yaml.dump(config, f)\n\nprint(f\"βœ… Config saved to: {updated_config_path}\")\nprint(\"\\nConfig summary:\")\nprint(f\" - Model: {config['model']['name']}\")\nprint(f\" - Data: {config['data']['input_path']}\")\nprint(f\" - Device: {config['hardware']['device']}\")\nprint(f\" - Epochs: {config['training']['num_epochs']}\")"
153
  },
154
  {
155
  "cell_type": "markdown",
 
135
  "execution_count": null,
136
  "metadata": {},
137
  "outputs": [],
138
+ "source": "# Check if data exists in the repo, if not create mini dataset\nimport os\n\n# Use absolute path\nDATA_PATH = os.path.abspath(\"./data/final/train.jsonl\")\n\nif os.path.exists(DATA_PATH):\n print(f\"βœ… Training data found at {DATA_PATH}\")\n !wc -l {DATA_PATH}\nelse:\n print(\"⚠️ Data not found, creating mini dataset (5K examples)...\")\n !python scripts/create_mini_dataset.py --size 5000 --output data_mini/train_mini.jsonl\n DATA_PATH = os.path.abspath(\"./data_mini/train_mini.jsonl\")\n !ls -lh {DATA_PATH}\n\nprint(f\"\\nπŸ“ Data absolute path: {DATA_PATH}\")"
139
  },
140
  {
141
  "cell_type": "markdown",
 
149
  "execution_count": null,
150
  "metadata": {},
151
  "outputs": [],
152
+ "source": "# Use Colab config and update paths\nimport yaml\nimport os\n\n# Use absolute path for config\nREPO_DIR = os.getcwd()\nconfig_path = os.path.join(REPO_DIR, \"stack/training/train_config_local.yaml\")\n\n# Check if config exists\nif not os.path.exists(config_path):\n print(f\"❌ Config not found at: {config_path}\")\n print(\"πŸ“ Checking repo structure:\")\n !find . -name \"train_config*.yaml\" | head -10\n raise FileNotFoundError(f\"Config file not found: {config_path}\")\n\nprint(f\"πŸ“„ Loading config from: {config_path}\")\nwith open(config_path, 'r') as f:\n config = yaml.safe_load(f)\n\n# Update for Colab/T4 GPU - use absolute paths\nconfig['model']['name'] = MODEL_DIR\nconfig['data']['input_path'] = DATA_PATH\nconfig['output']['lora_dir'] = os.path.abspath(\"./training_output/lora\")\nconfig['output']['merged_dir'] = os.path.abspath(\"./training_output/merged\")\nconfig['hardware']['device'] = \"cuda\" # Use T4 GPU\nconfig['hardware']['num_gpus'] = 1\n\n# Save updated config\nOUTPUT_DIR = os.path.abspath(\"./training_output\")\nos.makedirs(OUTPUT_DIR, exist_ok=True)\nupdated_config_path = f\"{OUTPUT_DIR}/train_config.yaml\"\n\nwith open(updated_config_path, 'w') as f:\n yaml.dump(config, f)\n\nprint(f\"βœ… Config saved to: {updated_config_path}\")\nprint(\"\\nConfig summary:\")\nprint(f\" - Model: {config['model']['name']}\")\nprint(f\" - Data: {config['data']['input_path']}\")\nprint(f\" - Device: {config['hardware']['device']}\")\nprint(f\" - Epochs: {config['training']['num_epochs']}\")"
153
  },
154
  {
155
  "cell_type": "markdown",