-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
150 lines (126 loc) · 4.42 KB
/
Copy pathinstall.sh
File metadata and controls
150 lines (126 loc) · 4.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#!/bin/bash
# NeuroBridge Trainer Installation Script for Linux/Mac
# 智桥训练师 Linux/Mac 安装脚本
echo "========================================"
echo "NeuroBridge Trainer Installation Script"
echo "智桥训练师安装脚本"
echo "========================================"
# 检查Python是否已安装
if ! command -v python3 &> /dev/null
then
echo "[ERROR] Python3 is not installed"
echo "Please install Python 3.8 or higher"
exit 1
fi
# 检查Python版本
PYTHON_VERSION=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
echo "[INFO] Python version: $PYTHON_VERSION"
# 分离主版本号和次版本号
IFS='.' read -ra VERSION_PARTS <<< "$PYTHON_VERSION"
PYTHON_MAJOR=${VERSION_PARTS[0]}
PYTHON_MINOR=${VERSION_PARTS[1]}
if [[ $PYTHON_MAJOR -lt 3 ]] || [[ $PYTHON_MAJOR -eq 3 && $PYTHON_MINOR -lt 8 ]]
then
echo "[ERROR] Python version is too old. Required: 3.8+, Found: $PYTHON_VERSION"
exit 1
fi
echo "[INFO] Python version is compatible: $PYTHON_VERSION"
# 创建虚拟环境
echo "Creating virtual environment..."
python3 -m venv .venv
if [ $? -ne 0 ]; then
echo "[ERROR] Failed to create virtual environment"
exit 1
fi
echo "[INFO] Virtual environment created successfully"
# 激活虚拟环境
echo "Activating virtual environment..."
source .venv/bin/activate
if [ $? -ne 0 ]; then
echo "[ERROR] Failed to activate virtual environment"
exit 1
fi
echo "[INFO] Virtual environment activated"
# 升级pip
echo "Upgrading pip..."
pip install --upgrade pip
if [ $? -ne 0 ]; then
echo "[WARNING] Failed to upgrade pip, continuing with current version"
fi
# 检查是否有GPU (仅Linux)
GPU_AVAILABLE=0
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
if command -v nvidia-smi &> /dev/null
then
echo "[INFO] NVIDIA GPU detected"
GPU_AVAILABLE=1
else
echo "[INFO] No NVIDIA GPU detected or nvidia-smi not available"
fi
else
echo "[INFO] Running on macOS, GPU support depends on Apple Silicon"
# 检查是否是Apple Silicon
if [[ $(uname -m) == "arm64" ]]; then
echo "[INFO] Apple Silicon detected, Metal support available"
GPU_AVAILABLE=1
else
echo "[INFO] Intel Mac detected, CPU-only installation"
fi
fi
# 安装依赖
if [[ $GPU_AVAILABLE -eq 1 ]]; then
echo "Installing GPU version dependencies..."
pip install -r requirements.txt
else
echo "Installing CPU version dependencies..."
pip install -r requirements-cpu.txt
fi
if [ $? -ne 0 ]; then
echo "[ERROR] Failed to install dependencies"
exit 1
fi
echo "[INFO] Dependencies installed successfully"
# 安装开发依赖(可选)
echo "Installing development dependencies..."
pip install pytest pytest-cov black flake8 mypy pre-commit
if [ $? -ne 0 ]; then
echo "[WARNING] Failed to install development dependencies, continuing..."
fi
# 验证安装
echo "Verifying installation..."
python -c "import torch; import torchvision; import ultralytics; print('Core dependencies verified')"
if [ $? -ne 0 ]; then
echo "[WARNING] Core dependency verification failed, but installation may still work"
fi
echo "[INFO] Installation verification completed"
# 创建启动脚本
echo "Creating launch script..."
echo '#!/bin/bash' > launch_neurobridge.sh
echo 'cd "$(dirname "$0")"' >> launch_neurobridge.sh
echo 'source .venv/bin/activate' >> launch_neurobridge.sh
echo 'python start_ui.py' >> launch_neurobridge.sh
chmod +x launch_neurobridge.sh
echo "[INFO] Launch script created: launch_neurobridge.sh"
# 完成信息
echo "========================================"
echo "Installation completed successfully!"
echo "安装完成!"
echo "========================================"
echo "To run NeuroBridge Trainer:"
echo "运行智桥训练师:"
echo "1. ./launch_neurobridge.sh"
echo "2. Or run: python start_ui.py (after activating the virtual environment)"
echo " 或运行:python start_ui.py(激活虚拟环境后)"
echo "========================================"
echo "Virtual environment location: .venv/"
echo "虚拟环境位置:.venv/"
echo "========================================"
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
echo "For GPU users, please ensure you have:"
echo "GPU用户请确保已安装:"
echo "- NVIDIA GPU with CUDA support"
echo " 支持CUDA的NVIDIA GPU"
echo "- Latest NVIDIA drivers"
echo " 最新的NVIDIA驱动程序"
echo "========================================"
fi