Added STDP AltAI example, and refactored example accordingly.#150
Added STDP AltAI example, and refactored example accordingly.#150DavidIkov wants to merge 32 commits intoKasperskyLab:masterfrom
Conversation
| template <> | ||
| std::function<knp::core::messaging::SpikeData(knp::core::Step)> | ||
| make_training_labels_spikes_generator<knp::neuron_traits::BLIFATNeuron>(const Dataset& dataset) | ||
| { | ||
| return [&dataset](knp::core::Step step) | ||
| { | ||
| knp::core::messaging::SpikeData message; | ||
|
|
||
| knp::core::Step local_step = step % steps_per_image; | ||
| if (local_step == 11) message.push_back(dataset.get_data_for_training().first[step / steps_per_image].first); | ||
| return message; | ||
| }; | ||
| } |
There was a problem hiding this comment.
А почему вдруг метки как-то уникально кодируются?
Давай, хотя бы часть, вынесем.
Там посмотрим.
| constexpr double min_potential = 0; | ||
| constexpr float stability_change_parameter = 0.05F; | ||
| constexpr uint32_t resource_drain_coefficient = 27; | ||
| constexpr float stochastic_stimulation = 2.212; |
There was a problem hiding this comment.
А это что?
Комментарии добавь.
Тут далеко не всё понятно.
|
|
||
| using Dataset = knp::framework::data_processing::classification::images::Dataset; | ||
|
|
||
| Dataset process_dataset(ModelDescription const& model_desc); |
There was a problem hiding this comment.
Неплохо бы комментарий оставить, в чём заключается "процесс".
| std::cout << get_time_string() << ": learning started\n"; | ||
|
|
||
| model_executor.start( | ||
| [&dataset](size_t step) | ||
| { | ||
| if (step % 20 == 0) std::cout << "Step: " << step << std::endl; | ||
| return step != dataset.get_steps_amount_for_training(); | ||
| }); | ||
|
|
||
| std::cout << get_time_string() << ": learning finished\n"; | ||
| example_network.network_ = get_network_for_inference( | ||
| *model_executor.get_backend(), example_network.data_.inference_population_uids_, | ||
| example_network.data_.inference_internal_projection_); |
There was a problem hiding this comment.
смысла от него я не увидел,
первый тайминг сразу улетает в логах, а второй просто говорит время окончания работы модели,
смысл?
если и делать такой лог, то надо писать время которое ушло на работу модели, а не просто время, зачем мне просто время?
для всех измерений я пользовался командой time, этот лог был бесполезным.
+это доп файл, пример становится больше
| } | ||
|
|
||
| // Start model. | ||
| std::cout << get_time_string() << ": learning started\n"; |
There was a problem hiding this comment.
Правда надо убирать тайминг?
No description provided.