Kar*_*ski 11 keras tensorflow data-augmentation
我根据官方TensorFlow教程使用数据增强。首先,我创建一个具有增强层的顺序模型:
def _getAugmentationFunction(self):
if not self.augmentation:
return None
pipeline = []
pipeline.append(layers.RandomFlip('horizontal_and_vertical'))
pipeline.append(layers.RandomRotation(30))
pipeline.append(layers.RandomTranslation(0.1, 0.1, fill_mode='nearest'))
pipeline.append(layers.RandomBrightness(0.1, value_range=(0.0, 1.0)))
model = Sequential(pipeline)
return lambda x, y: (model(x, training=True), y)
Run Code Online (Sandbox Code Playgroud)
然后,我在数据集上使用映射函数:
data_augmentation = self._getAugmentationFunction()
self.train_data = self.train_data.map(data_augmentation,
num_parallel_calls=AUTOTUNE)
Run Code Online (Sandbox Code Playgroud)
该代码按预期工作,但我收到以下警告:
WARNING:tensorflow:Using a while_loop for converting RngReadAndSkip
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting StatelessRandomUniformV2
WARNING:tensorflow:Using a while_loop for converting RngReadAndSkip
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting StatelessRandomUniformV2
WARNING:tensorflow:Using a while_loop for converting ImageProjectiveTransformV3
WARNING:tensorflow:Using a while_loop for converting RngReadAndSkip
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting StatelessRandomUniformV2
WARNING:tensorflow:Using a while_loop for converting RngReadAndSkip
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting StatelessRandomUniformV2
WARNING:tensorflow:Using a while_loop for converting RngReadAndSkip
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting StatelessRandomUniformV2
WARNING:tensorflow:Using a while_loop for converting ImageProjectiveTransformV3
WARNING:tensorflow:Using a while_loop for converting RngReadAndSkip
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting Bitcast
WARNING:tensorflow:Using a while_loop for converting StatelessRandomUniformV2
Run Code Online (Sandbox Code Playgroud)
警告的原因是什么以及如何解决?我使用的是 TF v2.9.1
小智 6
这不仅仅是警告 - 这些层非常慢!就我而言,一个 epoch 的时间从 30 秒增加到几分钟。
\n这似乎是 keras 版本 2.9 和 2.10 中的一个错误(包含在tensorflow中):https ://github.com/keras-team/keras-cv/issues/581
\n它可以在 TF v2.8.3 上正常工作 - 没有错误消息,并且训练速度很快。
\n在我的拱门系统 \xe2\x80\x93\xc2\xa0 上,我已经通过python-tensorflow-opt-cuda使用pacman\xe2\x80\x93 安装软件包来安装 TF,我发出以下命令解决了问题:
python -m pip install tensorflow-gpu==2.8.3\nRun Code Online (Sandbox Code Playgroud)\n
小智 2
TensorFlow 中的警告可以通过 tf.get_logger().setLevel(). 要关闭警告,您可以使用
tf.get_logger().setLevel('ERROR')
Run Code Online (Sandbox Code Playgroud)
我试图在要点中复制它,请在这里找到它。谢谢你!
| 归档时间: |
|
| 查看次数: |
6225 次 |
| 最近记录: |