坤坤最近接手了实验室里几件琐事:给报告修图、分辨葡萄酒样本、整理手写编号,还想让小车帮忙送样。每件事看起来都不大,真做起来却各有难处。
编程基础见实验编程入门。
| 项目 | 坤坤要做什么 |
|---|---|
| 图像处理工作台 | 把有噪点的果盘照片处理清楚,留住边缘。 |
| 分类边界擂台 | 为分布不同的食品样本挑选分类方法。 |
| 葡萄酒研究室 | 认类别、估酒精含量,再给相似的酒分组。 |
| 图片颜色压缩 | 用有限的颜色还原一张水果照片。 |
| 手写数字识别 | 让电脑辨认实验记录里的手写编号。 |
| 小车送样 | 让小车学会绕开障碍,把样本送到实验台。 |
下载与打开实验室
下载与解压
- 点击下载食品实验室完整项目包,把
ml-lab.zip保存到电脑。下载完成后,一般能在浏览器右上角的下载列表或电脑的“下载”文件夹里找到它。 - Windows 右键 ZIP,选择“全部解压缩”;macOS 双击 ZIP;Linux 右键选择解压。不要在压缩包预览窗口里直接运行文件。Windows用户,一般来说不要直接放在C盘根目录,建议放在用户文件夹或其他非系统盘。
- 打开解压后的文件夹,找到同时包含
app.py、requirements.txt和projects的那一层。如果外面又套了一层同名文件夹,就继续打开,直到看到这些文件。 - 按自己的操作系统完成下面的安装与启动。不要双击
app.py启动实验,也不用先读懂代码;把对应命令逐行复制到终端运行即可。
安装时需要联网下载 Python 和依赖。装好后,实验在你的电脑上运行,用浏览器打开界面即可,不需要网站账号或显卡。
终端和路径
- 文件夹:用来放文件。解压后应得到
ml-lab文件夹,里面能看到app.py、requirements.txt、projects。 - 路径:一个文件或文件夹的地址,例如
C:\Users\你的用户名\Downloads\ml-lab。路径含空格时,要用英文双引号包住。 - 终端:输入命令的窗口。键盘输入一行,按 Enter / 回车执行,等提示符再次出现才输入下一行。这里的“终端”不是 Python 里出现
>>>的窗口。 - 当前文件夹:终端现在所在的位置。
cd是“进入文件夹”;..表示上一层。后面的命令必须在含有app.py的文件夹里执行。
下面的代码框里是需要执行的命令,复制时不必带上标题。命令会创建一个叫 .venv 的虚拟环境,本项目的依赖都装在里面,与其他 Python 项目分开。
Windows 10 / 11
- 到 Python 官方下载页 安装 Python 3.11 或 3.12。安装器中勾选 Add python.exe to PATH,然后安装。安装后重新打开命令窗口。
- 在资源管理器中找到下载的 ZIP,点击右键,选择全部解压缩。不要直接在 ZIP 预览窗口里运行。
- 打开解压后的
ml-lab文件夹,确认看得到app.py。按 Alt + D 选中文件夹地址栏,输入cmd,按 Enter。会打开黑色命令提示符窗口,且已经位于这个文件夹。 - 逐行运行下面的命令。若安装时询问访问网络,允许 Python 下载依赖。
py -3.12 --version
py -3.12 -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txt
.venv\Scripts\python.exe -m streamlit run app.py
如果安装的是 3.11,把前两行中的 -3.12 改成 -3.11。如果提示找不到 py,关闭窗口重新打开;仍无效则重新运行 Python 安装器,检查 PATH 和 Python Launcher。这些命令直接调用虚拟环境里的 Python,不需要另外运行激活脚本,也不需要更改 PowerShell 执行策略。
macOS
- 从 Python 官方下载页 安装 Python 3.11 或 3.12 的 macOS 安装包。双击 ZIP 解压。
- 按 Command + 空格 打开 Spotlight,输入“终端”或
Terminal,按 回车。 - 在终端输入
cd(注意后面有一个空格),先不要按回车。将 Finder 中解压后的ml-lab文件夹拖到终端窗口里,路径会自动填入,再按回车。 - 输入
ls,应能看到app.py。然后逐行运行:
python3.12 --version
python3.12 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python -m streamlit run app.py
如果安装的是 3.11,把前两行的 python3.12 改成 python3.11。不要用系统自带的旧 Python 代替。如果下载依赖出现证书错误,打开“应用程序”中的 Python 3.12(或 3.11)文件夹,双击 Install Certificates.command 后重试安装依赖。
Linux(以 Ubuntu 24.04 / Debian 系为例)
- 在文件管理器中解压 ZIP。按 Ctrl + Alt + T 打开终端;如果快捷键无效,在应用菜单搜索“终端”。
- 输入
cd,将ml-lab文件夹拖入窗口后回车。也可以在文件管理器地址栏复制路径,再输入cd "你复制的完整路径"。输入ls,确认有app.py。 - Ubuntu 24.04 可以使用下面的命令。
sudo会询问你的电脑登录密码;输入时不显示字符,正常输入后回车即可。
sudo apt update
sudo apt install python3 python3-venv python3-pip
python3 --version
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python -m streamlit run app.py
建议版本为 3.11 / 3.12。其他发行版的软件包命令不同:Fedora 使用 dnf,Arch 使用 pacman;请安装对应发行版的 Python 和 venv 支持,再从创建 .venv 这一步继续。没有管理员权限时,联系电脑管理员安装 Python,不要把 sudo 加到后面的 pip 命令上。
浏览器打开以后
终端显示类似 Local URL: http://localhost:8501,浏览器通常会自动打开食品实验室。如果没有自动打开,把终端给出的 Local URL 复制到浏览器地址栏。localhost 表示你自己的电脑。
网页运行期间,终端会一直被占用,不再出现新的提示符。保持这个窗口打开。要停止实验网页,回到终端按 Ctrl + C(macOS 也是 Control + C,而不是 Command + C)。之后网页断开连接是正常现象。
下次使用不需要重新安装:重新进入 ml-lab 文件夹,仅执行最后一条启动命令。若端口被占用,在启动命令末尾追加 --server.port 8502,再打开终端显示的新地址。
演示实验
- 在网页左侧选一个实验,保持“演示”,点“运行实验”先观察效果。
- 用 VS Code 等代码编辑器打开整个
ml-lab文件夹。选择实验说明中标出的projects/实验名/exercises.py。 - 每个函数写清了输入、输出。替换函数中的
raise NotImplementedError(...),保留函数名、参数名和缩进;不要把答案写进page.py。 - 按 Ctrl + S 保存(macOS:Command + S)。回到网页切换到“练习”,点“检查练习”,再点“运行实验”。
- 修改代码、参数或数据后,旧结果会标记为待更新。重新点击运行按钮,才会执行你的新实现。完整参考实现位于
solutions文件夹。
常见提示怎么处理
| 提示 | 含义与处理 |
|---|---|
找不到 app.py 或 requirements.txt |
当前文件夹不对。Windows 输入 dir,macOS/Linux 输入 ls,确认列出了这两个文件。不要进入里面第二层 projects。 |
>>> |
打开了 Python 交互窗口。输入 exit() 回车退出,再输入安装命令。 |
No module named streamlit |
依赖没有装进当前 Python。使用上面 .venv 开头的完整命令重新安装和启动。 |
| 下载超时 | 检查网络,重新运行安装依赖那一行。已装好的包通常不必重新下载。 |
NotImplementedError / 待完成 |
练习函数还没有写完。先切回演示看效果,再逐题填写。 |
SyntaxError / IndentationError |
查看报错对应文件和行号,检查冒号、括号以及同一层代码的缩进。 |
| PyTorch 未安装 | 其他实验仍可使用;手写数字识别的 CNN 训练与预测需要安装下方依赖。 |
手写数字识别:安装 PyTorch
先装好基础环境,再停止实验网页。仍在同一文件夹里运行下面的安装命令,安装 PyTorch。
Windows:
.venv\Scripts\python.exe -m pip install -r requirements-torch.txt
macOS / Linux:
.venv/bin/python -m pip install -r requirements-torch.txt
安装后重新启动网页,到数字识别的“数据准备”下载 MNIST(约 12 MB)。数据会保存在本地,后续无需重复下载。计算设备默认自动选择 CUDA、Apple MPS 或 CPU;训练只在点击“从头训练 CNN”后开始。
