标签: google-cloud-tpu

如何在Google云中设置TensorFlow?

如何在Google云中设置TensorFlow?我了解如何创建Google Compute Engine实例,以及如何在本地运行TensorFlow; 和最近的谷歌博客中表明,有应该是创建一个谷歌Compute Engine的实例,并在云中运行的应用程序TensorFlow方式:

机器学习项目可以有多种规模,正如我们在开源提供的TensorFlow中看到的那样,项目通常需要扩展.一些小任务最好通过在桌面上运行的本地解决方案来处理,而大规模应用程序则需要托管解决方案的规模和可靠性.Google Cloud Machine Learning旨在支持全方位,并提供从本地到云环境的无缝过渡.

即使我对此有所了解,但鉴于微软Azure提供的竞争平台,有一种方法可以设置TensorFlow应用程序(在本地开发并"无缝地"扩展到云中) ,可能是在谷歌云中使用GPU).

例如,我想在我的IDE中本地工作,调整我的项目的功能和代码,在那里运行有限的培训和验证,并定期将代码推送到云以在那里运行(任意)更大的资源,然后保存并下载经过培训的模型.或者甚至更好,只需使用可调资源在云中运行图形(或图形的一部分).

有没有办法做到这一点; 有计划吗?如何在Google云中设置TensorFlow?

machine-learning google-cloud-platform tensorflow google-cloud-ml google-cloud-tpu

14
推荐指数
1
解决办法
1万
查看次数

如何在bfloat16中使用tf.keras

我正在尝试使用混合精度在tpu上运行tf.keras模型。我想知道如何使用bfloat16混合精度构建keras模型。是这样吗

with tf.contrib.tpu.bfloat16_scope():
    inputs = tf.keras.layers.Input(shape=(2,), dtype=tf.bfloat16)
    logits = tf.keras.layers.Dense(2)(inputs)

logits = tf.cast(logits, tf.float32)
model = tf.keras.models.Model(inputs=inputs, outputs=logits)
model.compile(optimizer=tf.keras.optimizers.Adam(.001),
              loss='mean_absolute_error', metrics=[])

tpu_model = tf.contrib.tpu.keras_to_tpu_model(
        model,
        strategy=tf.contrib.tpu.TPUDistributionStrategy(
            tf.contrib.cluster_resolver.TPUClusterResolver(tpu='my_tpu_name')
        )
    )
Run Code Online (Sandbox Code Playgroud)

python google-compute-engine keras tensorflow google-cloud-tpu

13
推荐指数
1
解决办法
508
查看次数

tf.data.Dataset:不得为给定的输入类型指定 `batch_size` 参数

我使用的Talos和谷歌colab TPU运行的超参数调整Keras模型。请注意,我使用的是 Tensorflow 1.15.0 和 Keras 2.2.4-tf。

import os
import tensorflow as tf
import talos as ta
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import Adam
from sklearn.model_selection import train_test_split

def iris_model(x_train, y_train, x_val, y_val, params):

    # Specify a distributed strategy to use TPU
    resolver = tf.contrib.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
    tf.contrib.distribute.initialize_tpu_system(resolver)
    strategy = tf.contrib.distribute.TPUStrategy(resolver)

    # Use the strategy to create and compile a Keras model
    with strategy.scope():
      model = Sequential()
      model.add(Dense(32, input_shape=(4,), activation=tf.nn.relu, …
Run Code Online (Sandbox Code Playgroud)

keras tensorflow google-colaboratory google-cloud-tpu talos

12
推荐指数
1
解决办法
5983
查看次数

如何在谷歌colab中使用TPU

Google colab在运行时加速器中引入了TPU.我找到了一个例子,如何在官方Tensorflow github中使用TPU .但这个例子并不适用于Google-colaboratory.它停留在以下行:

tf.contrib.tpu.keras_to_tpu_model(model, strategy=strategy)
Run Code Online (Sandbox Code Playgroud)

当我在colab上打印可用设备时,它会返回[]TPU加速器.有谁知道如何在colab上使用TPU?

在此输入图像描述

keras tensorflow google-colaboratory google-cloud-tpu

11
推荐指数
1
解决办法
1万
查看次数

在PyTorch中使用TPU

我正在尝试使用Colab的Google Cloud TPU.我可以通过使用Tensorflow来完成本教程.

有人知道是否可以使用PyTorch来使用TPU?如果是这样我该怎么办?你有什么例子吗?

google-cloud-platform pytorch google-colaboratory google-cloud-tpu

9
推荐指数
2
解决办法
5618
查看次数

使用GOOGLE COLAB TPU在IMAGENET上训练VGG-16模型需要多长时间?

只是好奇,使用 GOOGLE COLAB TPU 在 IMAGENET 上训练 VGG16 模型需要多长时间?如果有人能向我解释他们为得到答案所做的计算,那就太好了!

deep-learning tensorflow google-colaboratory google-cloud-tpu tpu

8
推荐指数
1
解决办法
2091
查看次数

文件系统方案“[local]”未在 Google Colab TPU 中实现

我在 Google Colab 中使用 TPU 运行时,但在读取文件时遇到问题(不确定)。我使用以下方法初始化了 TPU:

import tensorflow as tf
import os
import tensorflow_datasets as tfds

resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
tf.config.experimental_connect_to_cluster(resolver)
# This is the TPU initialization code that has to be at the beginning.
tf.tpu.experimental.initialize_tpu_system(resolver)
print("All devices: ", tf.config.list_logical_devices('TPU'))
Run Code Online (Sandbox Code Playgroud)

我在 Google Colab 存储的文件夹中有很多图像(例如'/content/train2017/000000000009.jpg')。我运行以下代码:

import tensorflow as tf
def load_image(image_path):
    img = tf.io.read_file(image_path)
    img = tf.image.decode_jpeg(img, channels=3)
    img = tf.image.resize(img, (299, 299))
    img = tf.keras.applications.inception_v3.preprocess_input(img)
    return img, image_path
load_image('/content/train2017/000000000009.jpg')
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

---------------------------------------------------------------------------
UnimplementedError                        Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

python tensorflow google-colaboratory google-cloud-tpu tpu

8
推荐指数
2
解决办法
5703
查看次数

TF/Keras错误:InputLayer不是Checkpointable

我正在尝试使用简单的猫与狗数据集在Google Colab上新添加的TPU支持.

创建简单的CNN后,我尝试将模型导出到TPU.但它失败了,错误

TypeError: Checkpointable._track_checkpointable() passed type <class 'keras.engine.topology.InputLayer'>, not a Checkpointable.
Run Code Online (Sandbox Code Playgroud)

这是我在Colab上编写的代码.

model = models.Sequential()
model.add(layers.Conv2D(32, (3,3), activation='relu', input_shape=(150, 150, 3)))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(64, (3,3), activation='relu'))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Flatten())
model.add(layers.Dropout(0.5))
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.summary()

train_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(train_dir, target_size=(150,150), batch_size=20, class_mode='binary')

tpu_model = tf.contrib.tpu.keras_to_tpu_model(model, strategy=tf.contrib.tpu.TPUDistributionStrategy(tf.contrib.cluster_resolver.TPUClusterResolver(tpu="grpc://" + os.environ['COLAB_TPU_ADDR'])))
Run Code Online (Sandbox Code Playgroud)

我的猜测是我做错了train_generator.但我不确定它是什么.任何帮助将受到高度赞赏.

keras tensorflow google-colaboratory google-cloud-tpu

7
推荐指数
1
解决办法
1949
查看次数

TPU分类器InvalidArgumentError:未注册OpKernel以支持Op'CrossReplicaSum'与这些attrs

我尝试Estimator使用TPUEstimatorAPI 实现基于Tensorflow的模型失败.它在训练期间遇到错误:

InvalidArgumentError (see above for traceback): No OpKernel was registered to support Op 'CrossReplicaSum' with these attrs.  Registered devices: [CPU], Registered kernels: <no registered kernels>
[[Node: CrossReplicaSum_5 = CrossReplicaSum[T=DT_FLOAT](gradients/dense_2/BiasAdd_grad/tuple/control_dependency_1)]]
Run Code Online (Sandbox Code Playgroud)

一开始也有警告,但我不确定它是否相关:

WARNING:tensorflow:CrossShardOptimizer should be used within a tpu_shard_context, but got unset number_of_shards. Assuming 1.
Run Code Online (Sandbox Code Playgroud)

这是模型函数的相关部分:

def model_fn(features, labels, mode, params):
"""A simple NN with two hidden layers of 10 nodes each."""
input_layer = tf.feature_column.input_layer(features, params['feature_columns'])

dense1 = tf.layers.dense(inputs=input_layer, units=10, activation=tf.nn.relu, kernel_initializer=tf.glorot_uniform_initializer())
dense2 = tf.layers.dense(inputs=dense1, units=10, activation=tf.nn.relu, …
Run Code Online (Sandbox Code Playgroud)

classification neural-network python-3.x tensorflow google-cloud-tpu

6
推荐指数
1
解决办法
688
查看次数

将 Colab 连接到付费 TPU

我想将 Colab 连接到付费 TPU(从免费 TPU 升级)。我使用本指南创建了一个 JSON 密钥:https : //cloud.google.com/docs/authentication/production#auth-cloud-explicit-python,然后将其上传到 Colab。我可以连接到我的存储,但不能连接到 TPU:

%tensorflow_version 2.x
import tensorflow as tf
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = './gcp-permissions.json'

# Authenticated API request - works.
storage_client = storage.Client.from_service_account_json(
    'gcp-permissions.json')
print(list(storage_client.list_buckets())

#Accessing the TPU - does not work. Request times out.
cluster_resolver = tf.distribute.cluster_resolver.TPUClusterResolver(
    tpu='My-TPU-Name',
    zone='us-central1-a',
    project='My-Project-Name'
)
Run Code Online (Sandbox Code Playgroud)

我还尝试了 TPUClusterResolver 调用,仅使用 tpu 名称和 'credentials=gcp-permissions.json' - 结果相同。我已经仔细检查了我的 TPU 是否已在 GCP 控制台中启动并运行。它不是抢占式的。我错过了什么?

谢谢!

google-cloud-platform google-colaboratory google-cloud-tpu tpu

6
推荐指数
1
解决办法
725
查看次数