|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
set -e |
|
|
|
|
|
GREEN='\033[0;32m' |
|
|
YELLOW='\033[1;33m' |
|
|
NC='\033[0m' |
|
|
|
|
|
print_status() { echo -e "${GREEN}[INFO]${NC} $1"; } |
|
|
print_warning() { echo -e "${YELLOW}[WARN]${NC} $1"; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CRED_FILE="${HOME}/.seriguela/credentials" |
|
|
|
|
|
|
|
|
if [ -f "$CRED_FILE" ]; then |
|
|
print_status "Loading credentials from $CRED_FILE" |
|
|
source "$CRED_FILE" |
|
|
fi |
|
|
|
|
|
|
|
|
if [ -z "$WANDB_KEY" ] && [ -n "$WANDB_API_KEY" ]; then |
|
|
WANDB_KEY="$WANDB_API_KEY" |
|
|
fi |
|
|
|
|
|
if [ -z "$WANDB_KEY" ]; then |
|
|
print_warning "Wandb API key not found" |
|
|
echo -n "Enter your Wandb API key: " |
|
|
read -s WANDB_KEY |
|
|
echo "" |
|
|
fi |
|
|
|
|
|
|
|
|
if [ -z "$HF_TOKEN" ]; then |
|
|
print_warning "HuggingFace token not found (optional)" |
|
|
echo -n "Enter your HuggingFace token (or press Enter to skip): " |
|
|
read -s HF_TOKEN |
|
|
echo "" |
|
|
fi |
|
|
|
|
|
|
|
|
print_status "Launching GPT-2 Medium training on AWS..." |
|
|
|
|
|
bash "$(dirname "$0")/launch_medium_training.sh" \ |
|
|
--wandb-key "$WANDB_KEY" \ |
|
|
--hf-token "$HF_TOKEN" |
|
|
|
|
|
|
|
|
if [ ! -f "$CRED_FILE" ]; then |
|
|
echo "" |
|
|
echo -n "Save credentials for next time? [y/N]: " |
|
|
read SAVE_CREDS |
|
|
if [ "$SAVE_CREDS" = "y" ] || [ "$SAVE_CREDS" = "Y" ]; then |
|
|
mkdir -p "$(dirname "$CRED_FILE")" |
|
|
cat > "$CRED_FILE" << EOF |
|
|
# Seriguela API credentials |
|
|
export WANDB_API_KEY="$WANDB_KEY" |
|
|
export HF_TOKEN="$HF_TOKEN" |
|
|
EOF |
|
|
chmod 600 "$CRED_FILE" |
|
|
print_status "Credentials saved to $CRED_FILE" |
|
|
fi |
|
|
fi |
|
|
|