请教是python语法有错误,还是有顺序错误
#paddle加载paddle。numpy。os。random库调用paddle内神经层函数
import paddle
from paddle.nn import Linear
import paddle.nn.functional as F
import numpy as np
import os
import random
#导入数据,处理数据
def load_data():
#导入文件
datafile = 'data/data9072/housingPrices_train.csv'
data = np.fromfile(datafile, sep=' ', dtype=np.float32)
#每条数据包括14项,前面13项为因素,后一项为中位数
feature_names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', \
'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV' ]
feature_num = len(feature_names)
#将原始数据重塑,变成(n*14)
data = data.reshape([data.shape[0] // feature_num, feature_num])
#将数据集拆分成训练集与测试集
#80%的训练,20%的测试,(测试与训练无交集?)
ratio = 0.8
offset = int(data.shape[0] * ratio)
training_data = data[:offset]
#计算train 最大值 最小值 平均值
maximums,minimums,avgs = training_data.max(axis=0), training_data.min(axis=0), \
training_data.sum(axis=0) / training_data.shape[0]
#记录数据归一化处理
global max_values
global min_values
global avg_values
max_values = maximums
min_values = minimums
avg_values = avgs
#对数据进行归一化处理
for i in range (feature_num):
data[:, i] = (data[:,i]-avg[i]) / (maximums[i] - minimums[i])
#训练集与测试集划分比例
training_data = data[:offset]
test_data = data[offset:]
return training_data,test_data
class Regressor(paddle.nn.Layer):
# self代表类的实例自身
def __init__(self):
# 初始化父类中的一些参数
super(Regressor, self).__init__()
# 定义一层全连接层,输入维度是13,输出维度是1
self.fc = Linear(in_features=13, out_features=1)
# 网络的前向计算
def forward(self, inputs):
x = self.fc(inputs)
return x
#声明定义好的线性回归模型
model = Regressor()
# 开启模型训练模式
model.train()
# 加载数据#
training_data, test_data = load_data()
# 定义优化算法,使用随机梯度下降SGD
# 学习率设置为0.01
opt = paddle.optimizer.SGD(learning_rate=0.01, parameters=model.parameters())
模型没有加载数据,load-data返回的数据并没有加载到模型 是不是少了步骤