训练nn时,张力流可以在外部python函数? 我正在尝试训练自动编码器,但已经知道解码器(这是Python功能)。我的想法是训练编码器,并将潜在空间喂入一个已知的解码器,我...

问题描述 投票:0回答:2
Whate

python

是一个神经网络,
with tf.GradientTape() as tape: latent_space = encoder(x_batch, training=True) # NN model output = decoder(latent_space) # Python function loss_value = loss(y_batch, output) grads = tape.gradient(loss_value, encoder.trainable_variables) optimizer.apply_gradients(zip(grads, model.trainable_variables))
是上述
encoder

函数。如何包括此功能并具有GPU并行化?任何想法/建议都将受到赞赏。
	
yyes,TensorFlow可以采用外部Python功能。

您正在寻找的是

decoder
https://www.tensorflow.org/api_docs/python/tf/py_function

请注意,如果您想使用外部Python代码,这是唯一的解决方案,可以包装到

python
python tensorflow tensorflow2.0
2个回答
0
投票

我最近也因这个问题而困扰,我需要处理神经网络的输出,因此我需要调用用纯numpy编写的函数来计算输出后的损失。使用TF时。 py_function在TensorFlow中,我发现对于未由TF操作的函数,尽管PY_FUNCTICT可以获得计算结果,但该结果不能用于将梯度保存用于反向传播。

tf.py_function()

目前应该没有解决此问题的解决方案。我需要调用的外部功能是复杂的FEM模拟库,我无法使用TensorFlow或Pytorch从头开始实现。

参考资源:

如何在TensorFlow 2/keras自定义层中使用基于Numpy的外部库功能?

https://github.com/tensorflow/tensorflow/issues/32964


    


0
投票
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.