chore: initial commit — unified project repo
Merged code repo (CompanionGuard-RL) into single project-level git. Reorganized root: docs/, reference/, experiments/, tmp/active|archives/. Gitignored: data/, checkpoints/, .venv, experiment logs, tmp/archives. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
81
tmp/active/run_phase7_setup.py
Normal file
81
tmp/active/run_phase7_setup.py
Normal file
@@ -0,0 +1,81 @@
|
||||
"""Check server Python environment and install missing packages."""
|
||||
import paramiko
|
||||
import warnings
|
||||
import time
|
||||
|
||||
warnings.filterwarnings("ignore", category=DeprecationWarning)
|
||||
|
||||
HOST = "10.82.3.180"
|
||||
PORT = 20083
|
||||
USER = "root"
|
||||
PASS = "m2dGcwyrhI"
|
||||
PROJ = "/root/siton-data-2849d4ce327c4ccfb233ce33868fe7fe/zsy/CompanionGuard-RL"
|
||||
|
||||
|
||||
def ssh_run(client, cmd, timeout=300, print_live=True):
|
||||
transport = client.get_transport()
|
||||
chan = transport.open_session()
|
||||
chan.exec_command(cmd)
|
||||
out_parts = []
|
||||
err_parts = []
|
||||
while True:
|
||||
if chan.recv_ready():
|
||||
chunk = chan.recv(4096).decode("utf-8", errors="replace")
|
||||
out_parts.append(chunk)
|
||||
if print_live:
|
||||
print(chunk, end="", flush=True)
|
||||
if chan.recv_stderr_ready():
|
||||
chunk = chan.recv_stderr(4096).decode("utf-8", errors="replace")
|
||||
err_parts.append(chunk)
|
||||
if print_live:
|
||||
print("[ERR]", chunk, end="", flush=True)
|
||||
if chan.exit_status_ready():
|
||||
while chan.recv_ready():
|
||||
chunk = chan.recv(4096).decode("utf-8", errors="replace")
|
||||
out_parts.append(chunk)
|
||||
if print_live:
|
||||
print(chunk, end="", flush=True)
|
||||
while chan.recv_stderr_ready():
|
||||
chunk = chan.recv_stderr(4096).decode("utf-8", errors="replace")
|
||||
err_parts.append(chunk)
|
||||
if print_live:
|
||||
print("[ERR]", chunk, end="", flush=True)
|
||||
break
|
||||
time.sleep(0.1)
|
||||
exit_code = chan.recv_exit_status()
|
||||
return "".join(out_parts), "".join(err_parts), exit_code
|
||||
|
||||
|
||||
def connect():
|
||||
client = paramiko.SSHClient()
|
||||
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
client.connect(HOST, port=PORT, username=USER, password=PASS, timeout=30)
|
||||
return client
|
||||
|
||||
|
||||
client = connect()
|
||||
print("Connected.\n")
|
||||
|
||||
# Find which python to use and what's installed
|
||||
print("=== Python environments ===")
|
||||
ssh_run(client, "which python3 python 2>/dev/null; python3 --version 2>/dev/null; conda env list 2>/dev/null | head -20")
|
||||
|
||||
print("\n=== Check which python was used for training ===")
|
||||
ssh_run(client, f"head -5 {PROJ}/experiments/train_*.log 2>/dev/null | head -20")
|
||||
|
||||
print("\n=== Check if torch is installed ===")
|
||||
ssh_run(client, "python3 -c 'import torch; print(torch.__version__)' 2>&1")
|
||||
|
||||
print("\n=== List installed packages ===")
|
||||
ssh_run(client, "python3 -m pip list 2>/dev/null | grep -E 'yaml|torch|trans|scikit|peft' 2>&1")
|
||||
|
||||
print("\n=== Install missing packages ===")
|
||||
ssh_run(client,
|
||||
"python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyyaml scikit-learn 2>&1 | tail -10",
|
||||
timeout=120)
|
||||
|
||||
print("\n=== Verify yaml now works ===")
|
||||
ssh_run(client, "python3 -c 'import yaml; print(yaml.__version__)' 2>&1")
|
||||
|
||||
client.close()
|
||||
print("\nDone.")
|
||||
Reference in New Issue
Block a user