一個簡單的深度學習工具,能訓練自定義的順序模型
- 將資料分成兩個Matrix ** input, target
- input每個Matrix *的大小是(n, 1),n是input dim
- target每個Matrix *的大小是(n, 1),n是output dim
- 詳細參考matrix使用教學
- 將準備好的data, target傳給dataloader
dataloader *trainDataloader = init_dataloader(trainInput, trainTarget, trainBatchSize, trainBataLength, shuffle);
dataloader *validDataloader = init_dataloader(validInput, validTarget, validBatchSize, validDataLength, shuffle);
- 初始化model將所需要的物件塞給它
Model *myModel = init_model();
myModel->add(myModel, init_Linear(input_dim, 16, NULL, NULL));
myModel->add(myModel, init_ReLU());
myModel->add(myModel, init_Linear(16, 4, NULL, NULL));
myModel->add(myModel, init_ReLU());
myModel->add(myModel, init_Linear(4, output_dim, NULL, NULL));
myModel->train(myModel ,init_Adam(0.01, 0.9, 0.999, 1e-8), 1000, trainDataloader, validDataloader, init_CrossEntropy());
Matrix *predict = myModel->predict(myModel, trainInput[0]);
print_matrix(predict);
- 將makefile的Main改成你的main.c
- 將target改成你要的名字