{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# PikaPikaGen: Training del Modello\n", "\n", "Questo notebook automatizza il processo di setup e avvio del training per il modello PikaPikaGen.\n", "\n", "I passaggi eseguiti sono:\n", "1. Clonazione del repository GitHub pubblico.\n", "2. Installazione delle dipendenze necessarie tramite `uv`.\n", "3. Esecuzione dello script di training `main.py`." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(\"Installazione delle dipendenze necessarie...\")\n", "\n", "# Assicurati che uv sia installato\n", "%pip install uv\n", "print(\"✅ uv installato con successo.\")\n", "\n", "# Controlla se torch è già installato\n", "try:\n", " import torch\n", " print(f\"✅ PyTorch già installato (versione: {torch.__version__})\")\n", " torch_installed = True\n", "except ImportError:\n", " print(\"❌ PyTorch non trovato, sarà installato\")\n", " torch_installed = False\n", "\n", "# Lista delle dipendenze principali del progetto\n", "dependencies = [\n", " \"transformers\",\n", " \"pandas\",\n", " \"tqdm\",\n", " \"matplotlib\",\n", " \"Pillow\",\n", " \"requests\",\n", " \"ipywidgets\"\n", "]\n", "\n", "# Aggiungi torch e torchvision solo se non sono già installati\n", "if not torch_installed:\n", " dependencies.extend([\"torch\", \"torchvision\"])\n", "\n", "print(\"Installazione delle dipendenze con uv...\")\n", "deps_str = \" \".join(dependencies)\n", "if torch_installed:\n", " !uv pip install {deps_str}\n", "else:\n", " !uv pip install {deps_str} --torch-backend=auto\n", "print(\"✅ Dipendenze principali installate con successo.\")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import os\n", "\n", "repo_url = \"https://github.com/val-2/DeepLearning\"\n", "branch = \"main\"\n", "repo_name = repo_url.split('/')[-1]\n", "\n", "print(f\"Clonazione del repository: {repo_url}\")\n", "\n", "# Check if we're already in the repo directory\n", "current_dir = os.path.basename(os.getcwd())\n", "if current_dir == repo_name:\n", " print(f\"Già nella directory del repository '{repo_name}'. Aggiornamento...\")\n", " !git fetch\n", " !git pull\n", " !git checkout {branch}\n", "elif os.path.exists(repo_name):\n", " print(f\"La directory '{repo_name}' esiste già. Aggiornamento del repository...\")\n", " os.chdir(repo_name)\n", " !git fetch\n", " !git pull\n", " !git checkout {branch}\n", "else:\n", " print(\"Clonazione del repository...\")\n", " !git clone -b {branch} {repo_url}\n", " os.chdir(repo_name)\n", "\n", "# Spostati nella directory del repository\n", "print(f\"Directory di lavoro corrente: {os.getcwd()}\")" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.12.11" } }, "nbformat": 4, "nbformat_minor": 2 }