通过GCP训练一个自己的模型,顺便学习GCP的AI相关使用。

个人私房笔记,看客有限参考。

本地操作

一、设定一个实验名称

读取模板填写i变量,生成训练配置文件:experiment/mobilarTest/pipeline.config。

$ python ./scripts/gen-config.py --exp-name mobilarTest
-- ::,-line:-INFO-check_options(): train_dir = gs://tfobd_2020_bucket/mobilarTest_train
-- ::,-line:-INFO-check_options(): data_dir = gs://tfobd_2020_bucket/mobilarTest_data
-- ::,-line:-INFO-check_options(): checkpoint_file = gs://tfobd_2020_bucket/mobilarTest_data/model.ckpt
-- ::,-line:-INFO-check_options(): train_input_path = gs://tfobd_2020_bucket/mobilarTest_data/train.record
-- ::,-line:-INFO-check_options(): train_label_map_path = gs://tfobd_2020_bucket/mobilarTest_data/object-detection.pbtxt
-- ::,-line:-INFO-check_options(): test_input_path = gs://tfobd_2020_bucket/mobilarTest_data/test.record
-- ::,-line:-INFO-check_options(): test_label_map_path = gs://tfobd_2020_bucket/mobilarTest_data/object-detection.pbtxt

二、准备实验数据

需要准备的有:“训练数据” 和 “预训练模型”。

# 预训练模型
model.ckpt
object-detection.pbtxt

# 训练数据
train.record
test.record

远程操作

一、新建对应的项目

登录GCP,新建一个项目(例如 proj-tfobd-2020),并为该项目启用结算功能

二、启用 AI API

本项目需要用到GCP的机器学习引擎等功能,需要启用相关API,步骤如下:

(1). 打开GCP的API&Services菜单,点击 “Enable APIs and Services” 按钮。

(2). 左侧边栏 “machine learning”中,找到 AI Platform Training & Prediction API 并确保启用该API。

三、配置 gcloud

Google Cloud SDK 用于管理托管在 Google Cloud Platform 上的资源和应用,其中的工具包括 gcloudgsutilbq 命令行工具。gcloud 命令行工具随 Cloud SDK 一并下载;如需查看 gcloud CLI 的综合指南,请参阅 gcloud 命令行工具概览

如何在Ubuntu上安装Google Cloud SDK(搬运自:https://cloud.google.com/sdk/docs/quickstart-debian-ubuntu)。

四、使用 gsutil

确定训练数据文件没有问题后,同步到gcloud,准备训练。

gsutil -m cp train.record           gs://${YOUR_GCS_BUCKET}/data/
gsutil -m cp test.record gs://${YOUR_GCS_BUCKET}/data/
gsutil -m cp object-detection.pbtxt gs://${YOUR_GCS_BUCKET}/data/

模型训练

一、上传训练

bash object_detection/dataset_tools/create_pycocotools_package.sh /tmp/pycocotools
python setup.py sdist
(cd slim && python setup.py sdist)

准备好tf的压缩配置包,就开始自动上传并训练。

 gcloud ai-platform jobs submit training ${job_id} \
--job-dir=${gcp_training_dirPath} \
--packages ${RESEARCH_DIR}/dist/object_detection-0.1.tar.gz,${RESEARCH_DIR}/slim/dist/slim-0.1.tar.gz,/tmp/pycocotools/pycocotools-2.0.tar.gz \
--module-name object_detection.model_tpu_main \
--runtime-version ${TF_VERSION} \
--scale-tier BASIC_TPU \
--region us-central1 \
-- \
--model_dir=${gcp_training_dirPath} \
--tpu_zone us-central1 \
--pipeline_config_path=${gcp_config_path}

二、训练日志查看

gcloud ai-platform jobs describe ${job_id}

三、终止训练

gcloud ai-platform jobs cancel ${job_id}

End.

[AWS] OAuth2.0的更多相关文章

  1. 深入理解OAuth2.0协议

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

  2. 帮你深入理解OAuth2.0协议

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

  3. 深入理解OAuth2.0

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

  4. (转)帮你深入理解OAuth2.0协议

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

  5. 问题:OAuth2.0;结果:帮你深入理解OAuth2.0协议

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题. 豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒 ...

  6. OAuth2.0理解和用法

    现在网络的资料到处都是,很容易搜索到自己想要的答案.但答案通常只能解决自己一部分的问题.如果自己想要有一套自己的解决方案,还得重新撸一遍靠谱. 我需要学下OAuth2.0吗? 没看之前以为OAuth2 ...

  7. SimpleSSO:使用Microsoft.Owin.Security.OAuth搭建OAuth2.0授权服务端

    目录 前言 OAuth2.0简介 授权模式 (SimpleSSO示例) 使用Microsoft.Owin.Security.SimpleSSO模拟OpenID认证 通过authorization co ...

  8. 分享一个单点登录、OAuth2.0授权系统源码(SimpleSSO)

    SimpleSSO 关于OAuth 2.0介绍: http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 系统效果: 登录界面: 首页: 应用界面: ...

  9. 【OAuth2.0】Spring Security OAuth2.0篇之初识

    不吐不快 因为项目需求开始接触OAuth2.0授权协议.断断续续接触了有两周左右的时间.不得不吐槽的,依然是自己的学习习惯问题,总是着急想了解一切,习惯性地钻牛角尖去理解小的细节,而不是从宏观上去掌握 ...

随机推荐

  1. GitLab 安装(推荐)

    参考文档: https://about.gitlab.com/installation/#centos-7 基础环境 [root@node1 ~]# uname -r -.el7.x86_64 [ro ...

  2. 2018年web最新面试知识点总结

    00.行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 行内元素:a  b  span  img  input  select  strong 块级元素:div  ul  ol  li   ...

  3. 15个优秀的开源项目,让你轻松应对Android开发

    一.huabanDemo-android 应用material design版的花瓣网App 项目地址 https://github.com/LiCola/huabanDemo 二.创建视差效果引导页 ...

  4. android textview使用ttf字体显示图片

    最近在研究一个组件时,发现使用textview显示了一张图片,原以为android原生支持,仔细研究了下,是用ttf字体实现的,记录下 网上的介绍文章很多,这里就不啰嗦了,链接 https://www ...

  5. linux中apt-get和yum和wget的区别

    1.RedHat系列:Redhat.Centos.Fedora等   yum 2.Debian系列:Debian.Ubuntu等   apt-get wget类似迅雷

  6. 体验jQuery和AngularJS的不同点以及AngularJS的迷人之处

    本篇通过jQuery和Angular两种方式来实现同一个实例,从而体验两者的不同点以及AngularJS的迷人之处. 首先当然需要引用jquery.js和angular.js文件. ■ 使用jQuer ...

  7. android: 动态加载碎片布局的技巧

    虽然动态添加碎片的功能很强大,可以解决很多实际开发中的问题,但是它毕竟只是在 一个布局文件中进行一些添加和替换操作.如果程序能够根据设备的分辨率或屏幕大小在运 行时来决定加载哪个布局,那我们可发挥的空 ...

  8. 从UEditor内容中获取指定节点值(转)

    今天吐槽一下百度的富文本编辑器UEditor,这种富文本编辑器极大地方便我们上传文件,开发人员无需编写任何上传代码,只需配置几个路径即可.但高度集成的东西有时也显得笨重,灵活度不高.比如:编辑器中我既 ...

  9. 手机 https 抓包---Charles篇

    原文出处: Lu尼玛的想疗院 作为一名现代前端,除了要掌握html,css,js 以及一系列乱七八糟框架之外,还得懂得如何抓包改包.当然,常规的网站或者自主开发的我们往往使用 chrome或者 fir ...

  10. shell相关知识点

    一.shell shell中如何支持多线程 shell中如何操作数据库 shell编程中的控制 判断语句 cut sed awk sort exec xargs shell中常用表达 shell处理字 ...