幼儿园求教,一个神经元实现与操作,fit报错
收藏
本人幼儿园水平,用飞桨实现感知器 与 的操作,想看看能不能实现,今天就在 fit 处一直报错 不知道哪个环节出错,所有代码如下,请各位大神赐教!
import paddle
import numpy as np
import matplotlib.pyplot as plt
#paddle.__version__
# 训练数据集
train_dataset = np.array([[0,0],[0,1],[1,0],[1,1]],dtype='float32')
#print(len(train_dataset))
label_dataset = np.array([[0],[0],[0],[1]],dtype='float64')
class MyDataset(paddle.io.Dataset):
def __init__(self, data, label):
"""
初始化函数
"""
#super(MyDataset, self).__init__() #为什么要加这一行 不要也行 为什么??
self.data = data
self.label = label
def __getitem__(self, index):
"""
根据索引获取单个样本
"""
return self.data[index], self.label[index]
def __len__(self):
"""
获取样本总数
"""
#print(len(self.data))
#return 4
return len(self.data)
train_data=MyDataset(train_dataset,label_dataset)
network = paddle.nn.Sequential(
paddle.nn.Linear(2,1))
# 模型封装实例化
model = paddle.Model(network)
# 模型可视化
model.summary((1, 2))
#模型配置
model.prepare(paddle.optimizer.Adam(learning_rate=0.001,parameters=model.parameters()), #优化器
paddle.nn.CrossEntropyLoss(), #loss损失计算方法
paddle.metric.Accuracy()) #评估指标
#模型训练
model.fit(train_data,
epochs=10,
batch_size=1,
verbose=1)
0
收藏
请登录后评论
没人回复 看来今天得继续找问题了
# 模型封装实例化
model = paddle.Model(network)
上面这一句改成下面这样就可以了
# 模型封装实例化
input = paddle.static.InputSpec([None, 2], 'float32', 'x')
label = paddle.static.InputSpec([None, 1], 'int64', 'label')
model = paddle.Model(network,input, label)
谢谢回复但仍然报错
信息可以贴的全一点么?我这边这样是可行的