波士顿房价预测书上给的例程出现'utf-8' codec can't decode byte 0xd5 in position 140: invalid continuation byte错误

波士顿房价预测书上给的例程出现'utf-8' codec can't decode byte 0xd5 in position 140: invalid continuation byte错误

问题描述:

import tensorflow as tf
import pandas as pd
import tensorflow.feature_column as fc
from tensorflow.keras.datasets import boston_housing

(x_train,y_train),(x_test,y_test) = boston_housing.load_data()


features = ['CRIM','ZN',
            'INDUS','CHAS','NOX','RM','AGE',
            'DIS','RAD','TAX','PTRATIO','B','LSTAT']

x_train_df = pd.DataFrame(x_train, columns = features)
x_test_df = pd.DataFrame(x_test, columns = features)
y_train_df = pd.DataFrame(y_train,columns=['MEDV'])
y_test_df = pd.DataFrame(y_test,columns=['MEDV'])
x_train_df.head()

feature_columns = []
for feature_name in features:
    feature_columns.append(fc.numeric_column(feature_name, dtype=tf.float32))

print(feature_columns)

def estimator_input_fn(df_data, df_label, epochs=20, shuffle=True, batch_size=64):
    def input_function():
        ds = tf.data.Dataset.from_tensor_slices((dict(df_data), df_label))
        if shuffle:
            ds = ds.shuffle(100)
        ds = ds.batch(batch_size).repeat(epochs)
        return ds
    return input_function

train_input_fn = estimator_input_fn(x_train_df, y_train_df)
val_input_fn = estimator_input_fn(x_test_df, y_test_df, epochs=1, shuffle=False)

linear_est = tf.estimator.LinearRegressor(feature_columns=feature_columns, model_dir = 'logs/func/')
linear_est.train(train_input_fn, steps=100)
result = linear_est.evaluate(val_input_fn)
print(result)

img

还有tensorflow2.7警告这段怎么修改代码

img

这个是数据读取的编码问题,你看看py文件是不是utf-8编码,,警告信息只是版本变更导致某些函数方法的修改,你按提示调用新的函数方法就行了,比如你图中是让你使用

img