从其他文档嵌入内容

人工智能与机器学习

概述

人工智能(AI)和机器学习(ML)是当今科技领域最热门的话题之一。AI是指计算机系统能够执行通常需要人类智能的任务,如视觉识别、语音识别和决策制定。ML是AI的一个子集,专注于开发能够从数据中学习的算法。

关键技术

深度学习

深度学习是ML的一个分支,使用多层神经网络来处理复杂的数据模式。它在图像和语音识别方面取得了显著的成果。

强化学习

强化学习是一种通过试错来学习的ML方法。它通常用于游戏和机器人控制等领域。

应用领域

医疗保健

AI和ML在医疗诊断、药物发现和个性化治疗方面有广泛应用。

金融

在金融领域,AI用于风险管理、欺诈检测和算法交易。

挑战

数据隐私

随着AI和ML的发展,数据隐私成为一个重要问题。如何在不侵犯个人隐私的情况下利用数据是一个挑战。

伦理问题

AI系统的决策过程可能不透明,这引发了关于伦理和责任的讨论。

未来展望

AI和ML的未来充满希望,但也伴随着挑战。随着技术的进步,我们期待看到更多创新的应用和解决方案。

概述

您可以使用 embed 短代码包含另一个 Quarto 文档(.qmd.ipynb)的输出。要嵌入代码块或笔记本单元格的输出,请提供文档的路径和块或单元格的标识符。例如,这个名为 penguins.ipynb 的 Jupyter 笔记本有一个单元格标记为 fig-bill-scatter

一张 Jupyter Notebook 的截图,名为 'penguins.ipynb',其中有一个单元格高亮显示,代码块选项标签设置为 fig-bill-scatter。单元格下方是结果图表。

您可以使用以下短代码嵌入此单元格的输出:

{{< embed penguins.ipynb#fig-bill-scatter >}}

这将嵌入图表如下:

Figure 1: A scatterplot of bill dimensions for penguins, made with Altair.
Source: Palmer Penguins (.ipynb)

图表下方会自动提供一个指向源笔记本的链接。点击链接将用户带到笔记本的渲染版本,使他们无需下载并在本地运行即可探索笔记本。例如,点击 penguins.ipynb 的链接会进入一个如下所示的页面:

网页截图,标题为 'penguins.ipynb',一个大的蓝色按钮标记为 '下载笔记本',接着是笔记本内容。

您可以嵌入来自 Jupyter 笔记本(.ipynb)和 Quarto 文档(.qmd)的输出。在本文中,我们将源文档统称为 笔记本

除了这种基本用法,您还可以:

  • 以多种方式指定单元格或块,参见 指定单元格

  • 使用源笔记本中的代码单元格选项控制输出,包括图形标题、图形布局和代码显示等,参见 代码单元格选项

  • 通过向短代码添加 echo 选项来包含代码及其输出,参见 嵌入代码

  • 自定义或排除指向源笔记本的链接,参见 链接至源笔记本

指定单元格

embed 短代码使用相对路径后跟单元格或代码块标识符(例如 penguins.ipynb#fig-bill-scatter)指定源笔记本。如果省略标识符,文档将嵌入笔记本中的所有单元格或代码块。

Quarto 文档

当源文档是 Quarto 文档(.qmd)时,使用代码块的 label 作为标识符。例如,如果源文档 penguins.qmd 包含以下代码块:

penguins.qmd
```{r}
#| label: fig-size-scatter
ggplot(penguins, aes(body_mass_g, flipper_length_mm)) +
  geom_point(aes(color = species)) +
  scale_color_manual(values = colors) +
  theme_minimal()
```

您将使用以下代码嵌入该块的输出:

{{< embed penguins.qmd#fig-size-scatter >}}

结果如下:

Jupyter 笔记本

当源文档是 Jupyter 笔记本时,用于定位正确单元格的标识符遵循以下规则:

  1. 单元格 id
    首先,单元格元数据将被检查是否匹配 id。(单元格 ID 是 Jupyter 笔记本的新功能,尚未在 Jupyter 前端得到广泛支持,但首先检查 id 以允许未来兼容性,因为它们变得更加常见)。
  2. 标签
    如果没有找到匹配 id 的单元格,Quarto 将使用代码元数据中具有匹配单元格标识符的 label 的单元格。
  3. 标签
    如果没有找到单元格,Quarto 将使用其标签匹配单元格标识符的单元格或单元格。

单元格标签

例如,要在 Jupyter Lab 中嵌入您标记为 bill-ratio 的单元格的输出:

Jupyter Notebook 中代码单元格的截图,单元格工具栏中打开的单元格标签显示标签 'bill-ratio'。

您将使用以下嵌入:

{{< embed penguins.ipynb#bill-ratio >}}

结果如下:

A density plot of bill ratio by species.

代码单元格选项

源笔记本中的代码单元格选项会传播到嵌入它们的文档中。例如,您可以指定代码单元格选项,如 fig-capfig-altlayout-ncol,以控制嵌入图形的各个方面。例如,penguins.ipynb 中的此单元格指定了包括标题、子标题、替代文本和布局的图形选项:

penguins.ipynb
#| label: fig-bill-marginal
#| fig-cap: "喙尺寸的边际分布"
#| fig-subcap: 
#|   - "企鹅的喙往往较薄,"
#|   - "而阿德利企鹅的喙往往较短。"
#| fig-alt:
#|   - "按物种分类的喙深度密度图。"
#|   - "按物种分类的喙长度密度图。"
#| layout-ncol: 2

sns.displot(penguins, 
            x = "bill_depth_mm", 
            hue = "species", 
            kind = "kde", fill = True, aspect = 2, height = 3)
plt.show()
sns.displot(penguins, 
            x = "bill_length_mm", 
            hue = "species", 
            kind = "kde", fill = True, aspect = 2, height = 3)
plt.show()

当这个单元格嵌入时:

{{< embed penguins.ipynb#fig-bill-marginal >}}

生成以下输出:

Density plot of bill depth by species.
(a) Gentoo penguins tend to have thinner bills,
Density plot of bill length by species.
(b) and Adelie penguins tend to have shorter bills.
Figure 3: Marginal distributions of bill dimensions

嵌入代码

你可以通过在 embed 短代码中使用 echo=true 选项,同时包含单元格或代码块的代码和输出。例如,要包含 penguins.ipynb 中标记为 species-counts 的单元格的代码和图表,嵌入内容应为:

{{< embed penguins.ipynb#species-counts echo=true >}}

文档中的结果是该单元格的代码和输出:

penguins.groupby("species").size().reset_index(name = "count")
species count
0 Adelie 152
1 Chinstrap 68
2 Gentoo 124

与图表选项类似,显示代码的选项会从源笔记本传播。例如,要折叠此单元格的代码,你可以在 species-counts 单元格的选项中添加 code-fold: true

penguins.ipynb
#| label: species-counts
#| code-fold: true
penguins.groupby("species").size().reset_index(name = "count")

嵌入这些单元格的文档的 YAML 头中设置的选项也会控制这些代码单元格。例如,要折叠所有代码,包括从 penguins.ipynb 嵌入的代码,你可以在文档 YAML 中添加 code-fold: true

sample.qmd
title: 企鹅特征探索
author: 诺拉·琼斯
toc: true
format:
  html:
    code-fold: true

链接到源笔记本

当你在 Quarto 文档中嵌入笔记本内容并将其渲染为 HTML 时,Quarto 会自动包含提供嵌入内容的源笔记本的链接。这些链接默认会出现在嵌入内容下方以及目录下方。例如,以下文档嵌入了来自 penguins.ipynb 笔记本的内容。你可以在下面的渲染 HTML 文档中看到这些链接:

嵌入图表的渲染页面截图。图表下方直接显示了指向源 'penguins.ipynb' 的链接。在目录下方,标题 'Notebooks' 下也显示了类似的链接。

链接位置

你可以通过在文档 YAML 中指定 notebook-links 选项,并使用以下值之一来控制源笔记本链接的位置:

true(默认)

在嵌入内容下方内联显示源笔记本的链接,并在目录旁边显示。

false

不显示任何源笔记本的链接。

inline

仅在嵌入内容下方内联显示链接。

global

仅在目录旁边显示链接。

笔记本视图

默认情况下,源笔记本的链接指向笔记本的自动生成的 HTML 渲染。这使得用户无需下载并本地运行笔记本即可查看其内容。此笔记本视图显示笔记本的内容,并包含一个下载笔记本的按钮。例如:

网页截图,标题为 'penguins.ipynb',一个大的蓝色按钮标记为 '下载笔记本',随后是笔记本内容。

例如,你可以查看本文件中使用的 penguins.ipynb 笔记本penguins.qmd 笔记本 的实时预览。

视图选项

你可以使用 notebook-view 控制笔记本视图的行为。对于每个源笔记本,你可以提供一个 title 和一个 urltitle 将用作指向源笔记本的任何链接的文本,并也会出现在渲染的笔记本视图顶部。如果提供了 url,它将用作指向源笔记本的任何链接的 href。如果你已将源笔记本的副本部署到 Github、Google Colab 或 Kaggle 等网站,并且更愿意链接到该网站,这将非常有用。

例如:

notebook-view:
  - notebook: penguins.ipynb
    title: "图表和计算"
    url: https://colab.research.google.com/drive/12GsIPQ644SI4vkEEHiZn-Qqfbr-bD1__

将生成如下链接:

嵌入图表的渲染页面截图。图表下方直接显示了指向源 '图表和计算' 的链接。在目录下方,标题 'Notebooks' 下也显示了类似的链接。

要禁用笔记本视图,并直接链接到笔记本(以便用户可以直接下载笔记本,而无需中间视图),请将 notebook-view 设置为 false