gpt4 book ai didi

python - 在将值分配给神经网络之前将 TensorFlow 张量转换为 numpy

转载 作者:行者123 更新时间:2023-12-01 02:30:03 24 4
gpt4 key购买 nike

我正在与 DCGAN code 合作。我需要修改the reward通过添加一个函数将其提供给其中一个神经网络,该函数将获取该神经网络的输出,对其进行分析并对其进行惩罚。所以我的损失函数如下所示:

self.g_loss = self.g_loss + self.penalty

问题是

  • 这个惩罚函数仅将 numpy 数组作为输入(我无法修改它),

  • 神经网络输出是一个tf.tensor,

  • 由于这些值尚未分配给神经网络(从技术上讲,它尚未构建),我既无法运行 .eval() 也无法运行 sess.run().

那么在这种情况下我如何将tensorflow张量转换为numpy数组?

最佳答案

Tensorflow 具有 wrapping Python functions and passing tensors to themtf.py_func 。但是,您无法使用此损失函数来训练网络,因为 Tensorflow 不会自动区分 numpy 代码。

幸运的是,autograd does automatically differentiate numpy code 。如果您使用它,在另一个 tf.pyfunc 调用中,您可以获得渐变,然后您可以 put back into the tensorflow graph on the backward pass .

以下是如何在 this gist 中完成这一切的示例.

关于python - 在将值分配给神经网络之前将 TensorFlow 张量转换为 numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46935897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com