qq_53389489
2021-11-15 17:07
采纳率: 50%
浏览 120

飞桨预测波房报错ValueError: zero-size array to reduction operation maximum which has no identity

请教是python语法有错误,还是有顺序错误

img


运行时报错ValueError: zero-size array to reduction operation maximum which has no identity
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/091070

#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())

1条回答 默认 最新

相关推荐 更多相似问题