python - tf.keras 手动设备放置
问题描述
迁移到 TF2.0 我正在尝试使用该tf.keras
方法来解决问题。在标准 TF 中,我可以with tf.device(...)
用来控制操作的位置。
例如,我可能有一个类似的模型
model = tf.keras.Sequential([tf.keras.layers.Input(..),
tf.keras.layers.Embedding(...),
tf.keras.layers.LSTM(...),
...])
假设我想让网络直到Embedding
(包括)在 CPU 上以及从那里开始在 GPU 上,我将如何去做?(这只是一个例子,这些层可能与嵌入无关)
如果解决方案涉及子类化tf.keras.Model
也可以,我不介意不使用Sequential
解决方案
您可以使用 Keras 功能 API:
inputs = tf.keras.layers.Input(..)
with tf.device("/GPU:0"):
model = tf.keras.layers.Embedding(...)(inputs)
outputs = tf.keras.layers.LSTM(...)(model)
model = tf.keras.Model(inputs=inputs, outputs=outputs)
推荐阅读
- r - RS-DBI 驱动程序:(无法在数据库名称“lahman”上连接 user@localhost:5432:致命:数据库“lahman”不存在
- wordpress - 您的服务器正在运行 PHP 版本 5.4.45,但 WordPress 5.2.2 至少需要 5.6.20
- google-apps-script - 性别化名称 API,达到请求限制 - 无法让谷歌表格自定义功能工作
- javascript - Quasar cordova-plugin-device - 错误“设备”未定义
- html - 如何删除顶部的白条?
- zend-framework - 如何从另一个模块提供服务?
- c# - 如何将信息从视图传递到控制器作为参数
- angular - 如何将 ngFor 用于集合中的数组
- python - 设置 Python KafkaProducer sasl 机制属性
- r - R中lm()回归的summary()中的“剩余标准误差”是什么意思?