[AWS] OAuth2.0
通过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 上的资源和应用,其中的工具包括 gcloud、gsutil 和 bq 命令行工具。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的更多相关文章
- 深入理解OAuth2.0协议
1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...
- 帮你深入理解OAuth2.0协议
1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...
- 深入理解OAuth2.0
1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...
- (转)帮你深入理解OAuth2.0协议
1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...
- 问题:OAuth2.0;结果:帮你深入理解OAuth2.0协议
1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题. 豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒 ...
- OAuth2.0理解和用法
现在网络的资料到处都是,很容易搜索到自己想要的答案.但答案通常只能解决自己一部分的问题.如果自己想要有一套自己的解决方案,还得重新撸一遍靠谱. 我需要学下OAuth2.0吗? 没看之前以为OAuth2 ...
- SimpleSSO:使用Microsoft.Owin.Security.OAuth搭建OAuth2.0授权服务端
目录 前言 OAuth2.0简介 授权模式 (SimpleSSO示例) 使用Microsoft.Owin.Security.SimpleSSO模拟OpenID认证 通过authorization co ...
- 分享一个单点登录、OAuth2.0授权系统源码(SimpleSSO)
SimpleSSO 关于OAuth 2.0介绍: http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 系统效果: 登录界面: 首页: 应用界面: ...
- 【OAuth2.0】Spring Security OAuth2.0篇之初识
不吐不快 因为项目需求开始接触OAuth2.0授权协议.断断续续接触了有两周左右的时间.不得不吐槽的,依然是自己的学习习惯问题,总是着急想了解一切,习惯性地钻牛角尖去理解小的细节,而不是从宏观上去掌握 ...
随机推荐
- ASP.NET 多次点击button后事件执行多次 并发解决 频繁操作解决办法
首先让我们体验一下频繁操作: 1)打开项目,在后台aspx.cs等服务器页面,设置断点. 2)点击页面按钮 3)调试开始进入断点,然后重复点击页面按钮 4)服务器第一次事件已经处理完毕,调试再次进入了 ...
- Android Fragment 详解(未完...)
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. 之前写过一篇关于 Fragment 生命周期的文章 ...
- Django的使用规则
ORM应该算是Python的一大特色,功能类似于Mybatis或hibernate,但是显示要强大更多 一:terminal下命令行的使用 1.创建一个Project django-admin sta ...
- ${pageContext.request.contextPath}无法解析
摘要 突然出现无法解析${pageContext.request.contextPath}的问题,在点击<a href="${pageContext.request.contextPa ...
- vs2013修改书签(vs书签文件位置)
visual studio 2013 的书签功能很好用,可以记录一些代码的位置:方便查阅: 不过当项目被他人修改过后,svn update 更新过后,书签的文件行号不变,但是已经不再是原来记录的哪一行 ...
- sprintf将CString转换成char[]
在MFC中使用sprintf()函数将CString转换成char[]时,char[]只接受第一个字符 使用的是VS2008 CString name;dbName="test" ...
- 11G新特性 -- ASM Fast Mirror Resync
ASM Fast Mirror Resync 在oracle 10g中,如果asm磁盘因为光纤.控制器发生故障而发生failure,asm将无法继续向该磁盘中写入数据. asm会将发生 ...
- sed 简明教程 (转)
sed 简明教程 2013年2月20日 awk于1977年出生,今年36岁本命年,sed比awk大2-3岁,awk就像林妹妹,sed就是宝玉哥哥了.所以 林妹妹跳了个Topless,他的哥哥sed ...
- 反射简化switch语句
1. 一个简单工厂类 public class FactoryModule { public ModuleIntf getModule(String moduleType) { ModuleIntf ...
- JS控制音频顺序播放
做一项目,用到“叫号功能”,网页上有一“叫号”按钮,点击后就读数据库中存的号码,如123号, 然后就发声音出来, 思路是网上下载0123456789的叫号声音,然后按钮点击事件里就在JS里写用那个HT ...