現在、FANN を使用して増分学習を行っています。私のプログラムが間違っているかどうかを誰かに教えてもらえますか? ありがとうございました。
トレーニングするデータセットがあります。しかし、将来的には新しいデータセットを取得する予定です。「増分学習」と呼ばれる新しいデータセットを使用して、現在の nn を増分的にトレーニングしたいと考えています。
まず、古いデータ「old.data」で nn を作成してトレーニングします。トレーニングアルゴリズムも設定します。
struct fann *ann = fann_create_standard(num_layers, num_input, num_neurons_hidden, num_output); fann_set_activation_function_hidden(ann, FANN_SIGMOID_SYMMETRIC); fann_set_activation_function_output(ann, FANN_SIGMOID_SYMMETRIC);
fann_set_training_algorithm(ann, FANN_TRAIN_INCREMENTAL);
fann_train_on_file(ann, "old.data", max_epochs, epochs_between_reports, desired_error); fann_save(ann, "mynn.net");
fann_destroy(ann);
次に、新しいデータセット「new.data」がある場合、次のようにプログラムできると思います。
struct fann *ann = fann_create_from_file("mynn.net");
fann_train_on_file(ann, "new.data", max_epochs, epochs_between_reports, desired_error);
私のプログラムは正しいですか?