ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AI Platform Notebooks 实战指南:在 JupyterLab 中运行 Google Cloud 示例教程

AI Platform Notebooks 实战指南:在 JupyterLab 中运行 Google Cloud 示例教程 示例工程【免费下载链接】python-docs-samplesCode samples used on cloud.google.com项目地址https://gitcode.com/GitHub_Trending/py/python-docs-samples点击查看免费下载本指南以 notebooks/README.md 为核心系统讲解如何在 Google Cloud 的 AI Platform Notebooks托管式 JupyterLab 环境中运行本仓库提供的 API 代码示例与交互式教程覆盖环境搭建、依赖安装、BigQuery Magic 注册与 matplotlib 内联渲染配置并结合仓库中的渲染文档rendered 目录深入剖析 BigQuery 查询、BigQuery ML 建模等典型教程的完整工作流。读者学完后既能一键在云端 Notebook 实例中复现示例也能在本地 Jupyter 环境中完整配置并运行全部教程。一、什么是 AI Platform NotebooksAI Platform Notebooks 是 Google Cloud 提供的一项托管服务它为数据科学家和机器学习开发者提供了一个集成、安全的 JupyterLab 环境用于模型的实验、开发与生产部署。其核心价值在于免运维的 JupyterLab无需自己搭建服务器即可获得预装 Python、TensorFlow 等常用依赖的交互式环境与 Google Cloud 生态无缝集成实例默认带有访问 BigQuery、Cloud Storage 等服务的凭证配置示例与教程开箱即用本仓库的 notebooks 目录正是围绕这一环境组织代码示例与教程的。二、目录结构与示例分类notebooks目录下的内容分为两大类对应 README 中声明的两个板块目录内容说明notebooks/samplesNotebooks API 代码示例通过 Python 与 Notebooks 管理 APIREST 接口交互的命令行程序notebooks/tutorialsJupyter 交互式教程可直接在 Notebook 中逐格运行的实战教程覆盖 BigQuery、Cloud Storage、Cloud ML Engine 等其中 notebooks/tutorials 下按主题分子目录notebooks/tutorials/bigquery6 个 BigQuery 相关教程基础入门、命令行工具、查询 Magic、BigQuery ML、BigQuery ML 特征工程、公共数据可视化notebooks/tutorials/cloud-ml-engine使用 scikit-learn 进行训练与预测的教程notebooks/tutorials/storageCloud Storage 客户端库与命令行工具教程。此外仓库还在 notebooks/rendered 目录下提供了上述教程的 Markdown 渲染版本如bigquery-query-magic.md、getting-started-with-bigquery-ml.md、cloud-storage-client-library.md等方便在不启动 Jupyter 的情况下直接阅读教程内容与代码是学习与引用教程逻辑的极佳入口。三、Notebooks API 代码示例samples 目录notebooks/samples/README.md 对本板块做了补充说明这里存放的是用于与 Notebooks API 交互的示例命令行程序。运行前需要完成以下前置工作1. 启用 API在 Google Cloud Console 的 API 管理页面搜索并启用 Google Cloud Notebooks API或直接通过命令行启用gcloud services enable notebooks.googleapis.com2. 安装依赖在本地建议使用 virtualenv 虚拟环境执行pip install -r requirements.txt该目录的 requirements.txt 声明了核心依赖google-api-python-client2.131.0即通过 Google API Python 客户端调用 Notebooks 管理 API。3. 配置认证按照 Google Cloud 官方认证指南配置凭证官方推荐使用带 JSON 密钥的服务账号Service Account来运行这些示例。需要说明的是示例中演示的功能同样可以通过 Cloud Console 或gcloud beta notebooks命令行完成API 示例的价值在于展示编程式管理 Notebook 实例的完整调用链。四、运行教程的两种方式README 为教程运行提供了两种路径在 Notebooks 实例中运行与本地运行。方式一在 Notebooks 实例中运行创建一个 Notebook 实例在 Console 中进入 AI Platform Notebooks 页面创建通过 Jupyter 控制台或使用界面上的Git clone按钮克隆本仓库git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git打开tutorials文件夹逐一打开其中的.ipynb文件即可开始运行。由于托管实例默认预置了访问 Google Cloud 服务所需的认证与常见依赖这是最省事、最推荐的体验路径。方式二本地运行在本地环境运行需要依次完成四个步骤安装 Jupyter Notebook参考 Jupyter 官方安装文档安装 requirements.txt 中声明的依赖见下文「安装依赖」注册google-cloud-bigqueryMagic 命令见下文「注册 Magic 与配置 matplotlib」将matplotlib设置为内联渲染步骤同上。安装依赖在notebooks目录下执行pip install --upgrade -r requirements.txt仓库中的 requirements.txt 实际声明的依赖为google-cloud-storage2.9.0 google-cloud-bigquery[pandas,pyarrow]3.27.0 matplotlib3.9.3可以看到教程主要依赖 Cloud Storage 客户端库、支持 pandas 与 pyarrow 的 BigQuery 客户端库后者为%%bigqueryMagic 返回 pandas DataFrame 提供支撑以及用于图表可视化的 matplotlib。[pandas,pyarrow]是 BigQuery 客户端库的可选依赖标记安装时会一并引入 pandas 与 pyarrow这正是 BigQuery 查询结果能以 DataFrame 形式展示的关键。此外仓库还提供了 notebooks/requirements-test.txt其中声明了pytest9.0.3适用于 Python 3.10用于教程相关测试。注册 Magic 与配置 matplotlibBigQuery Magic 命令和 matplotlib 内联渲染的配置有两种做法只对单个 notebook 生效或对全部 notebook 全局生效。做法一在单个 notebook 内执行在 notebook 的第一个单元格中运行以下两行即可注册 BigQuery Magic 命令并让 matplotlib 图形内联显示%load_ext google.cloud.bigquery %matplotlib inline做法二写入 IPython 配置文件全局生效将以下代码加入ipython_config.py则所有 notebook 都会自动完成上述设置c get_config() # 注册 Magic 命令 c.InteractiveShellApp.extensions [ google.cloud.bigquery, ] # 启用 matplotlib 图形在 notebook 中内联渲染 c.InteractiveShellApp.matplotlib inline其中InteractiveShellApp.extensions指定 IPython 启动时自动加载的扩展模块InteractiveShellApp.matplotlib则控制绘图后端为内联模式。更详细的 IPython 配置说明可查阅 IPython 官方配置文档。五、深入BigQuery 查询 Magic%%bigquery的完整用法配置好环境后最常用的能力便是 notebooks/tutorials/bigquery/BigQuery query magic.ipynb渲染版见 notebooks/rendered/bigquery-query-magic.md所讲解的%%bigqueryCell Magic。该 Magic 由google-cloud-bigquery客户端库提供作用是运行一条 SQL 查询并将结果以 pandasDataFrame形式返回。在公共数据集上运行查询以下示例查询 BigQuery 公共数据集usa_names美国社会保障局 1879 年后出生记录数据按名字汇总数量并取前十%%bigquery SELECT name, SUM(number) as count FROM bigquery-public-data.usa_names.usa_1910_current GROUP BY name ORDER BY count DESC LIMIT 10查询结果会直接显示在单元格下方。保留查询过程的详细输出默认情况下查询作业运行期间的进度信息作业 ID、运行时长等在查询结束后会被结果覆盖。传入--verbose标志可让这些状态信息在完成后保留%%bigquery --verbose SELECT name, SUM(number) as count FROM bigquery-public-data.usa_names.usa_1910_current GROUP BY name ORDER BY count DESC LIMIT 10显式指定项目默认使用当前默认项目运行查询也可以通过--project标志显式指定项目 ID前提是所用凭证在该项目中具备创建查询作业的权限project_id your-project-id%%bigquery --project $project_id SELECT name, SUM(number) as count FROM bigquery-public-data.usa_names.usa_1910_current GROUP BY name ORDER BY count DESC LIMIT 10将结果保存到变量在 Magic 命令后直接给出变量名可将结果写入变量而非直接显示。例如保存到df%%bigquery df SELECT name, SUM(number) as count FROM bigquery-public-data.usa_names.usa_1910_current GROUP BY name ORDER BY count DESC LIMIT 10之后通过df即可在后续单元格中操作该 DataFrame。参数化查询当查询参数需要在运行时计算时可使用--params标志传入一个字典参数值须可 JSON 序列化params {limit: 10}%%bigquery --params $params SELECT name, SUM(number) as count FROM bigquery-public-data.usa_names.usa_1910_current GROUP BY name ORDER BY count DESC LIMIT limit字典的键对应 SQL 中前缀的参数名值即参数取值。六、深入用 BigQuery ML 在 Notebook 中完成建模全流程notebooks/tutorials/bigquery/Getting started with BigQuery ML.ipynb渲染版见 notebooks/rendered/getting-started-with-bigquery-ml.md展示了 BigQuery ML 的核心理念用 SQL 在 BigQuery 内直接创建和执行机器学习模型无需搬移数据使 SQL 工程师也能借助既有工具快速建模。该教程使用 Google Analytics 示例数据集构建一个预测网站访客是否产生交易的二分类逻辑回归模型。创建数据集与初始化客户端from google.cloud import bigquery client bigquery.Client(locationUS)随后创建用于存放模型的 datasetdataset client.create_dataset(bqml_tutorial)使用 CREATE MODEL 训练模型通过%%bigqueryMagic 执行CREATE MODEL语句完成训练标准 SQL 是 BigQuery Python 客户端库的默认语法。模型特征包括操作系统、是否移动端、国家、页面浏览量标签为是否产生交易%%bigquery CREATE OR REPLACE MODEL bqml_tutorial.sample_model OPTIONS(model_typelogistic_reg) AS SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, ) AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, ) AS country, IFNULL(totals.pageviews, 0) AS pageviews FROM bigquery-public-data.google_analytics_sample.ga_sessions_* WHERE _TABLE_SUFFIX BETWEEN 20160801 AND 20170630该查询耗时数分钟。由于CREATE MODEL创建的是表而非普通查询结果完成后输出为一个空 DataFrame模型sample_model会出现在 BigQuery 网页 UI 的导航面板中。查看训练统计信息训练的目标是找到一组在全部样本上平均损失较低的权重这一过程称为经验风险最小化。使用ML.TRAINING_INFO函数查看各迭代的损失%%bigquery SELECT * FROM ML.TRAINING_INFO(MODEL bqml_tutorial.sample_model)其中loss列是训练集上的损失指标对逻辑回归而言即 log losseval_loss则是在留出验证集holdout上计算的同指标。评估模型使用ML.EVALUATE对分类器进行性能评估二分类的两个类别即label列中的0与1%%bigquery SELECT * FROM ML.EVALUATE(MODEL bqml_tutorial.sample_model, ( SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, ) AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, ) AS country, IFNULL(totals.pageviews, 0) AS pageviews FROM bigquery-public-data.google_analytics_sample.ga_sessions_* WHERE _TABLE_SUFFIX BETWEEN 20170701 AND 20170801))逻辑回归评估结果包含precision、recall、accuracy、f1_score、log_loss、roc_auc等指标列。使用模型预测用ML.PREDICT预测各国访客产生的交易总数并按数量降序取前十%%bigquery SELECT country, SUM(predicted_label) as total_predicted_purchases FROM ML.PREDICT(MODEL bqml_tutorial.sample_model, ( SELECT IFNULL(device.operatingSystem, ) AS os, device.isMobile AS is_mobile, IFNULL(totals.pageviews, 0) AS pageviews, IFNULL(geoNetwork.country, ) AS country FROM bigquery-public-data.google_analytics_sample.ga_sessions_* WHERE _TABLE_SUFFIX BETWEEN 20170701 AND 20170801)) GROUP BY country ORDER BY total_predicted_purchases DESC LIMIT 10将GROUP BY改为按访客 IDfullVisitorId分组即可进一步预测每位访客的交易次数。需要注意模型训练非确定性过程各次结果可能略有差异。清理资源教程结束使用如下代码删除数据集及其全部内容避免持续计费client.delete_dataset(dataset, delete_contentsTrue)七、更多教程与配套资源除上述两个重点教程外notebooks/tutorials中还包含BigQuery 基础入门初始化客户端、指定项目与区域location参数在创建 dataset 等操作中作为默认位置渲染版见 notebooks/rendered/bigquery-basics.mdBigQuery 命令行工具在 notebook 单元格中通过!bq help、!bq mk等命令操作 BigQueryCLI 命令需以!前缀执行渲染版见 notebooks/rendered/bigquery-command-line-tool.mdCloud Storage 客户端库通过storage.Client()创建桶、管理对象渲染版见 notebooks/rendered/cloud-storage-client-library.mdBigQuery ML 特征工程、BigQuery 公共数据可视化、Cloud Storage 命令行工具以及scikit-learn 训练与预测等其余教程。所有教程的 Markdown 渲染版本均可在 notebooks/rendered 目录下直接阅读。若需在本地复现请确保已按上文「注册 Magic 与配置 matplotlib」完成环境初始化——这也是所有涉及 BigQuery 查询与图表展示的教程能够正确运行的前提。赞分享示例工程【免费下载链接】python-docs-samplesCode samples used on cloud.google.com项目地址https://gitcode.com/GitHub_Trending/py/python-docs-samples点击查看免费下载上一篇Onekey Steam Depot Manifest下载器终极指南掌握Steam游戏清单获取核心技术下一篇yuzu模拟器完整教程在电脑上免费畅玩Switch游戏的终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表