google earth engine python_Google Earth Engine(Tensorflow深度学习)

本次我们讲一下如何利用colab训练深度学习(Tensorflow)模型,并上传到Google云平台上面。然后我们再通过GEE进行调用,这样我们在GEE上面运行自己的深度学习模型了。

不仅可以进行使用卷积神经网络,还可以用深度学习做一些回归的训练。

我们本次需要使用到的除了GEE的在线平台,还有colab(之前讲过如何使用),还要在谷歌云平台建立自己的工程(project)及工程下面的存储空间(storage bucket)。

本期的内容会比较长,代码也会稍微困难一些。官方文档对其中一些代码解释的也不是很清楚,但是我们主要是通过这个代码理解整个模型训练的流程。那些模型处理的过程我们也不用太关心。

01

colab训练模型

首先还是授权:

from google.colab import auth

auth.authenticate_user()

import ee

ee.Authenticate()

ee.Initialize()

定义我们常用的变量:

#导入Tensorflow的包

import tensorflow as tf

#提前预设一些变量

#把谷歌云平台里面你的工程名输入进去

PROJECT = 'boyguo'

#设置Cloud Storage bucket,会把你的训练数据和测试数据存储进去

OUTPUT_BUCKET = 'xiaoguo1'

# 使用Landsat-8数据作为训练

L8SR = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')

# 只选择其中一部分波段进行使用

BANDS = ['B2', 'B3', 'B4', 'B5', 'B6', 'B7']

# 这个跟我们上期使用的数据一样,都是三种地物类型

LABEL_DATA = ee.FeatureCollection('projects/google/demo_landcover_labels')

# 我们预测的的属性

LABEL = 'landcover'

# 总共分为三类

N_CLASSES = 3

# 把波段名和最后的标签名提前设置好

FEATURE_NAMES = list(BANDS)

FEATURE_NAMES.append(LABEL)

#这里把存储的训练数据和测试数据提前设置好

TRAIN_FILE_PREFIX = 'Training_demo'

TEST_FILE_PREFIX = 'Testing_demo'

file_extension = '.tfrecord.gz'

TRAIN_FILE_PATH = 'gs://' + OUTPUT_BUCKET + '/' + TRAIN_FILE_PREFIX + file_extension

TEST_FILE_PATH = 'gs://' + OUTPUT_BUCKET + '/' + TEST_FILE_PREFIX + file_extension

获取Landsat-8数据

# 定义去云的函数

def maskL8sr(image):

cloudShadowBitMask = ee.Number(2).pow(3).int()

cloudsBitMask = ee.Number(2).pow(5).int()

qa = image.select('pixel_qa')

mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0).And(

qa.bitwis

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值