nim*_*ics 5 python python-3.x keras tensorflow google-colaboratory
我需要在代码中添加混合精度以节省一些内存。具体来说,我尝试在https://github.com/nimRobotics/google-research/blob/master/ravens/train.py的第 27 行附近添加混合精度策略,下面是代码摘录
import argparse
import datetime
import os
import numpy as np
from ravens import agents
from ravens import Dataset
import tensorflow as tf
# tf.keras.mixed_precision.set_global_policy('mixed_float16')
# OR
# policy = tf.keras.mixed_precision.Policy('mixed_float16')
# mixed_precision.set_global_policy(policy)
Run Code Online (Sandbox Code Playgroud)
这两种方法都会导致属性错误,如下所示,我使用 Google Colab 和 TF 2.3.0
使用tf.keras.mixed_precision.set_global_policy('mixed_float16')
结果于
Traceback (most recent call last):
File "train.py", line 28, in <module>
tf.keras.mixed_precision.set_global_policy('mixed_float16')
AttributeError: module 'tensorflow.keras.mixed_precision' has no attribute 'set_global_policy'
Run Code Online (Sandbox Code Playgroud)
使用
policy = tf.keras.mixed_precision.Policy('mixed_float16')
mixed_precision.set_global_policy(policy)
Run Code Online (Sandbox Code Playgroud)
结果是
Traceback (most recent call last):
File "train.py", line 29, in <module>
policy = tf.keras.mixed_precision.Policy('mixed_float16')
AttributeError: module 'tensorflow.keras.mixed_precision' has no attribute 'Policy'
Run Code Online (Sandbox Code Playgroud)
任何帮助或提示将不胜感激!
因为tf < 2.4
您应该使用混合精度的实验包。
tf.keras.mixed_precision.experimental.Policy(
name, loss_scale='auto'
)
Run Code Online (Sandbox Code Playgroud)
例如,在tf 2.3
policy = tf.keras.mixed_precision.experimental.Policy('mixed_float16')
tf.keras.mixed_precision.experimental.set_policy(policy)
Run Code Online (Sandbox Code Playgroud)
并在tf 2.4
tf.keras.mixed_precision.set_global_policy('mixed_float16')
Run Code Online (Sandbox Code Playgroud)
从 开始tf 2.4
,此功能不再是实验性的。
归档时间: |
|
查看次数: |
7012 次 |
最近记录: |