TensorFlow: 将float64张量转换为float32

我尝试使用:train = optimizer.minimize(loss),但标准优化器不支持tf.float64。因此我想将我的losstf.float64转换为tf.float32

Traceback (most recent call last):  File "q4.py", line 85, in <module>    train = optimizer.minimize(loss)  File "/Library/Python/2.7/site-packages/tensorflow/python/training/optimizer.py", line 190, in minimize    colocate_gradients_with_ops=colocate_gradients_with_ops)  File "/Library/Python/2.7/site-packages/tensorflow/python/training/optimizer.py", line 229, in compute_gradients    self._assert_valid_dtypes([loss])  File "/Library/Python/2.7/site-packages/tensorflow/python/training/optimizer.py", line 354, in _assert_valid_dtypes    dtype, t.name, [v for v in valid_dtypes]))ValueError: Invalid type tf.float64 for Add_1:0, expected: [tf.float32].

回答:

简短的回答是,您可以使用tf.cast()操作将张量从tf.float64转换为tf.float32

loss = tf.cast(loss, tf.float32)

更详细的回答是,这并不能解决您在使用优化器时遇到的问题。(对tf.float64的支持不足是一个已知问题。)优化器要求您尝试优化的所有tf.Variable对象也必须是tf.float32类型。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注