gpt4 book ai didi

python - TensorFlow 中的类型转换错误

转载 作者:行者123 更新时间:2023-12-01 09:16:13 25 4
gpt4 key购买 nike

假设我正在一些训练数据上实现一个线性层,看起来像 enter image description here

以下代码

import tensorflow as tf
import numpy as np

weights = tf.Variable(np.random.uniform(0.0, 1.0, 3))
bias = tf.Variable(0.0)
trainingData = np.array(np.arange(15).astype(float).reshape(3,5))
output = tf.expand_dims(weights, 0) @ trainingData + bias

产生

enter image description here

这可以通过更改最后一行来解决

tf.cast(tf.expand_dims(weights, 0) @ trainingData, tf.float32) + bias

好的,所以它不喜欢将 float32_ref 添加到 float64,,但将 float32_ref 添加到 就可以了>float32. 但我一定做错了什么,因为我正在做一些非常简单的事情,并且它抛出了一个错误。 (我是 TensorFlow 新手。)我明白为什么它不喜欢我写的内容,但我犯了什么基本错误导致了这个问题?

我正在寻找这样的答案:“哦,你永远不应该用像 0.0 这样的浮点来初始化偏差,因为......”“这会导致更普遍的类型转换错误。”

最佳答案

  1. 哦,你永远不应该使用tf.Variable,除非你有充分的理由。您应该使用 tf.get_variable 来避免 issues .

  2. 哦,您永远不应该使用 float64 作为数据类型,除非您确实有充分的理由。 NumPy 默认使用 float64,因此您应该编写类似的内容

    W = tf.get_variable("w", initializer=np.random.randn().astype(np.float32))

关于python - TensorFlow 中的类型转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51237606/

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