# Spaces 上的 Aim

**Aim** 是一款易用且功能强大的开源实验跟踪工具。Aim 会记录您的训练运行，并提供美观的 UI 用于比较这些运行，以及 API 用于以编程方式查询它们。ML 工程师和研究人员使用 Aim 探索器，只需几次点击即可比较数千次训练运行。

查看 [Aim 文档](https://aimstack.readthedocs.io/en/latest/) 以了解有关 Aim 的更多信息。如果您有新功能的想法或发现了 bug，请随时 [提交功能请求或报告 bug](https://github.com/aimhubio/aim/issues/new/choose)。

在以下章节中，您将学习如何在 Hugging Face Hub Spaces 上部署 Aim，并直接从 Hub 探索您的训练运行。

## 在 Spaces 上部署 Aim

您可以一键将 Aim 部署到 Spaces！

    

创建 Space 后，您会看到 `Building` 状态，当状态变为 `Running,` 时，您的 Space 即可投入使用！

现在，当您导航到 Space 的 **App** 部分时，即可访问 Aim UI。

## 在 Spaces 上使用 Aim 比较你的实验

让我们用一个在 MNIST 上训练的 PyTorch CNN 快速示例，来演示在 Spaces 上端到端部署 Aim 的流程。完整示例位于 [Aim 仓库的 examples 文件夹](https://github.com/aimhubio/aim/blob/main/examples/pytorch_track.py) 中。

```python
from aim import Run
from aim.pytorch import track_gradients_dists, track_params_dists

# Initialize a new Run
aim_run = Run()
...
items = {'accuracy': acc, 'loss': loss}
aim_run.track(items, epoch=epoch, context={'subset': 'train'})

# Track weights and gradients distributions
track_params_dists(model, aim_run)
track_gradients_dists(model, aim_run)
```

Aim 跟踪的实验存储在 `.aim` 文件夹中。**要在您的 Space 中使用 Aim UI 显示日志，您需要将 `.aim` 文件夹压缩为 `tar.gz` 文件，并使用 `git` 或您 Space 的 Files and Versions 部分将其上传到 Space。**

以下是相应的 bash 命令：

```bash
tar -czvf aim_repo.tar.gz .aim
```

就是这样！现在打开你的 Space 的 App 部分，Aim UI 即可使用，并显示你的日志。以下是预期效果：

![Aim UI on HF Hub Spaces](https://user-images.githubusercontent.com/23078323/232034340-0ba3ebbf-0374-4b14-ba80-1d36162fc994.png)

使用 Aim 的 Pythonic 搜索来筛选您的运行。您可以针对所有已跟踪的内容（指标、超参数等）编写 Pythonic [查询](https://aimstack.readthedocs.io/en/latest/using/search.html)。在 HF Hub Spaces 上查看一些[示例](https://huggingface.co/aimstack)。

> [!TIP]
> 请注意，如果您的日志采用 TensorBoard 格式，您可以通过一条命令轻松将其转换为 Aim，并使用其中众多高级且高性能的训练运行比较功能。

## 关于 HF Spaces 的更多信息

- [HF Docker 空间](https://huggingface.co/docs/hub/spaces-sdks-docker)
- [HF Docker 空间示例](https://huggingface.co/docs/hub/spaces-sdks-docker-examples)

## 反馈与支持

如果您有改进建议或需要支持，请在 [Aim GitHub 仓库](https://github.com/aimhubio/aim) 上提交 issue。

[Aim 社区 Discord](https://github.com/aimhubio/aim#-community) 也可用于社区讨论。

