.. _program_listing_file_src_examples_mnist_mnist_ffnn.cpp: Program Listing for File mnist_ffnn.cpp ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``src/examples/mnist/mnist_ffnn.cpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #include #include #include #include #include #include "marian.h" #include "examples/mnist/model.h" #include "examples/mnist/training.h" #include "training/graph_group_async.h" #include "training/graph_group_singleton.h" #include "training/graph_group_sync.h" const std::vector TRAIN_SET = {"../src/examples/mnist/train-images-idx3-ubyte", "../src/examples/mnist/train-labels-idx1-ubyte"}; const std::vector VALID_SET = {"../src/examples/mnist/t10k-images-idx3-ubyte", "../src/examples/mnist/t10k-labels-idx1-ubyte"}; using namespace marian; int main(int argc, char** argv) { auto options = parseOptions(argc, argv, cli::mode::training, false); if(!options->hasAndNotEmpty("train-sets")) options->set("train-sets", TRAIN_SET); if(!options->hasAndNotEmpty("valid-sets")) options->set("valid-sets", VALID_SET); if(options->get("type") != "mnist-lenet") options->set("type", "mnist-ffnn"); auto devices = Config::getDevices(options); if(devices.size() == 1) New>(options)->run(); else if(options->get("sync-sgd")) New>(options)->run(); else New>(options)->run(); return 0; }