Нейросеть для разработчиков C++
sn::Net snet;
snet.addNode("In", sn::Input(), "C1")
.addNode("C1", sn::Convolution(10, -1, sn::calcMode::CUDA), "C2")
.addNode("C2", sn::Convolution(10, 0, sn::calcMode::CUDA), "P1 Crop1")
.addNode("Crop1", sn::Crop(sn::rect(0, 0, 487, 487)), "Rsz1")
.addNode("Rsz1", sn::Resize(sn::diap(0, 10), sn::diap(0, 10)), "Conc1")
.addNode("P1", sn::Pooling(sn::calcMode::CUDA), "C3")
.addNode("C3", sn::Convolution(10, -1, sn::calcMode::CUDA), "C4")
.addNode("C4", sn::Convolution(10, 0, sn::calcMode::CUDA), "P2 Crop2")
.addNode("Crop2", sn::Crop(sn::rect(0, 0, 247, 247)), "Rsz2")
.addNode("Rsz2", sn::Resize(sn::diap(0, 10), sn::diap(0, 10)), "Conc2")
.addNode("P2", sn::Pooling(sn::calcMode::CUDA), "C5")
.addNode("C5", sn::Convolution(10, 0, sn::calcMode::CUDA), "C6")
.addNode("C6", sn::Convolution(10, 0, sn::calcMode::CUDA), "DC1")
.addNode("DC1", sn::Deconvolution(10, sn::calcMode::CUDA), "Rsz3")
.addNode("Rsz3", sn::Resize(sn::diap(0, 10), sn::diap(10, 20)), "Conc2")
.addNode("Conc2", sn::Concat("Rsz2 Rsz3"), "C7")
.addNode("C7", sn::Convolution(10, 0, sn::calcMode::CUDA), "C8")
.addNode("C8", sn::Convolution(10, 0, sn::calcMode::CUDA), "DC2")
.addNode("DC2", sn::Deconvolution(10, sn::calcMode::CUDA), "Rsz4")
.addNode("Rsz4", sn::Resize(sn::diap(0, 10), sn::diap(10, 20)), "Conc1")
.addNode("Conc1", sn::Concat("Rsz1 Rsz4"), "C9")
.addNode("C9", sn::Convolution(10, 0, sn::calcMode::CUDA), "C10");
sn::Convolution convOut(1, 0, sn::calcMode::CUDA);
convOut.act = sn::active::sigmoid;
snet.addNode("C10", convOut, "Output");