l1=L.Linear(4, 6), l2=L.Linear(6, 3), ) def __call__(self, x, y): return F.mean_squared_error(self.fwd(x), y) def fwd(self, x): h1 = F.sigmoid(self.l1(x)) h2 = self.l2(h1) return h2 if __name__ == "__main__": # irisのデータセット iris = datasets.load_iris() X = iris.data.astype(np.float32) Y = iris.target N = Y.size Y2 = np.zeros(3 * N).reshape(N, 3).astype(np.float32) for i in range(N): Y2[i, Y[i]] = 1.0 index = np.arange(N) xtrain = X[index[index % 2 != 0], :] ytrain = Y2[index[index % 2 != 0], :] xtest = X[index[index % 2 == 0], :] yans = Y[index[index % 2 == 0]] train = tuple_dataset.TupleDataset(xtrain, ytrain) # モデルの生成 model = IrisChain()
def getData(): # アヤメの品種データを読み込む iris = datasets.load_iris() return model_selection.train_test_split(iris.data.astype(np.float32), iris.target)