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:
2026-05-14 11:28:42 +08:00
commit bd1f51c496
85 changed files with 20568 additions and 0 deletions

View 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.")