gpt4 book ai didi

python-3.x - tensorflow api 2.0 张量对象仅在启用急切执行时才可迭代。要迭代此张量,请使用 tf.map_fn

转载 作者:行者123 更新时间:2023-12-03 17:03:28 25 4
gpt4 key购买 nike

我正在尝试使用 tensorflow api 2 来使用 tensorflow estimator。

import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame({'A': np.array([100, 105.4, 108.3, 111.1, 113, 114.7]),
'B': np.array([11, 11.8, 12.3, 12.8, 13.1,13.6]),
'C': np.array([55, 56.3, 57, 58, 59.5, 60.4]),
'Target': np.array([4000, 4200.34, 4700, 5300, 5800, 6400])})

featcols = [
tf.feature_column.numeric_column("A"),
tf.feature_column.numeric_column("B"),
tf.feature_column.numeric_column("C")
]

model = tf.estimator.LinearRegressor(featcols)

features = tf.convert_to_tensor(["A", "B", "C"])

def train_input_fn():
training_dataset = (
tf.data.Dataset.from_tensor_slices(
(
tf.cast(df[[features]].values, tf.float32),
tf.cast(df['Target'].values, tf.float32)
)
)
)
return training_dataset

model.train(train_input_fn)

最后一行让我震惊:

TypeError:Tensor 对象仅在启用急切执行时才可迭代。要迭代此张量,请使用 tf.map_fn

另外,它给了我一个警告:

Variable.initialized_value (from tensorflow.python.ops.variables) is deprecated and will be removed in a future version.
Instructions for updating:
Use Variable.read_value. Variables in 2.X are initialized automatically both in eager and graph (inside tf.defun) contexts.

最佳答案

这完成没有错误。但是我没有测试过。刚刚安装了 tensorflow 2.0 alpha。

请检查docs寻求进一步的帮助。

import tensorflow as tf
import pandas as pd
import numpy as np



df = pd.DataFrame(data={'A': np.array([100, 105.4, 108.3, 111.1, 113, 114.7]),
'B': np.array([11, 11.8, 12.3, 12.8, 13.1,13.6]),
'C': np.array([55, 56.3, 57, 58, 59.5, 60.4]),
'Target': np.array([4000, 4200.34, 4700, 5300, 5800, 6400])})
print (df.describe())
featcols = [
tf.feature_column.numeric_column("A"),
tf.feature_column.numeric_column("B"),
tf.feature_column.numeric_column("C")
]

model = tf.estimator.LinearRegressor(featcols)


def make_input_fn():
def train_input_fn():
label = df.pop('Target')
print( label )
print ( df )
ds = tf.data.Dataset.from_tensor_slices((dict(df), label))
ds = ds.batch(1).repeat(1)
return ds

return train_input_fn


model.train(make_input_fn())

我还在这里展示了为我打印的内容。

Limited tf.compat.v2.summary API due to missing TensorBoard installation
Limited tf.summary API due to missing TensorBoard installation
A B C Target
count 6.000000 6.000000 6.00000 6.000000
mean 108.750000 12.433333 57.70000 5066.723333
std 5.421716 0.939503 2.01792 937.309351
min 100.000000 11.000000 55.00000 4000.000000
25% 106.125000 11.925000 56.47500 4325.255000
50% 109.700000 12.550000 57.50000 5000.000000
75% 112.525000 13.025000 59.12500 5675.000000
max 114.700000 13.600000 60.40000 6400.000000
WARNING: Logging before flag parsing goes to stderr.
W0313 19:30:06.720984 10576 estimator.py:1799] Using temporary folder as model directory: C:\Users\476458\AppData\Local\Temp\tmpkk4q3ute
W0313 19:30:06.767783 10576 deprecation.py:323] From C:\tensorflow2\lib\site-packages\tensorflow\python\training\training_util.py:238: Variable.
initialized_value (from tensorflow.python.ops.variables) is deprecated and will be removed in a future version.
Instructions for updating:
Use Variable.read_value. Variables in 2.X are initialized automatically both in eager and graph (inside tf.defun) contexts.
0 4000.00
1 4200.34
2 4700.00
3 5300.00
4 5800.00
5 6400.00
Name: Target, dtype: float64
A B C
0 100.0 11.0 55.0
1 105.4 11.8 56.3
2 108.3 12.3 57.0
3 111.1 12.8 58.0
4 113.0 13.1 59.5
5 114.7 13.6 60.4
W0313 19:30:06.861381 10576 deprecation.py:323] From C:\tensorflow2\lib\site-packages\tensorflow\python\feature_column\feature_column_v2.py:2758
: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.cast` instead.
W0313 19:30:07.220174 10576 deprecation.py:506] From C:\tensorflow2\lib\site-packages\tensorflow\python\training\slot_creator.py:187: calling Ze
ros.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
Instructions for updating:
Call initializer instance with the dtype argument instead of passing it to the constructor
2019-03-13 19:30:07.672566: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was
not compiled to use: AVX2

关于python-3.x - tensorflow api 2.0 张量对象仅在启用急切执行时才可迭代。要迭代此张量,请使用 tf.map_fn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55062375/

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