Russian Qt Forum
Май 03, 2024, 13:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Qt / Многопоточное программирование, процессы / Re: нейронная сеть и потоки : Март 29, 2021, 12:44
попрыгав с бубном и произнеся заклинания , удалось использовать CUDA & Linux .
результат :

GPU: 0.244996 milliseconds
CPU: 7.81898 milliseconds

при прохождении 1 эпохи
ели кому интересно ,то тут весьма не плохо рассказано про сторонние библиотеки и CUDA https://luniak.io/cuda-neural-network-implementation-part-1/
2  Qt / Многопоточное программирование, процессы / Re: нейронная сеть и потоки : Март 19, 2021, 21:03
оказывается есть драйвер для Linux который поддерживает CUDA ,только это выяснил .
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 635M] (rev a1)
новые возможности с новыми тараканами и посредственной видяшкой . к черту CUDA , нет желания прыгать с бубном .
3  Qt / Многопоточное программирование, процессы / Re: нейронная сеть и потоки : Март 19, 2021, 17:01
все только для личного пользования . GPU нет , и покупать новый ПК нет желания .  есть ноут 8и ядерный и сейчас думаю как разделить переменное количество нейронов в слое(от 1 до бесконечности) на 7 дополнительных потоков. пробовал разные библиотеки и у всех одна проблема ,нейрон в виде классов ,а это сжирает оперативку и мусор ненужный . вместо сигмоиды пробовал другие активации нейрона , получается усереднение ошибки ( сигмоида ошибка 0.03 , а другие доходили только до 0.14 ) . экспериментировал целый месяц и выводил ошибки на график QCuctom Plot  и пришол к итогу который у меня сейчас . нужно только решить с скоростью обучения сети , так как сеть нужно переучивать постоянно ( мои личные эксперименты и тараканы ) . с моим количеством слоев и нейронов в слое на обучение уходит 2е суток в 1 поток , сеть не стандартная .
4  Qt / Многопоточное программирование, процессы / Re: нейронная сеть и потоки : Март 18, 2021, 13:04
Код:
void do_work(unsigned id);
void f()
{
  std::vector<std::thread> threads;
  for(unsigned i=0;i<20;++i)
     {
      threads.push_back(std::thread(do_work,i));
     }
  std::for_each(threads.begin(),threads.end(),std::mem_fn(&std::thread::join));
}
5  Qt / Многопоточное программирование, процессы / Re: нейронная сеть и потоки : Март 18, 2021, 12:49
Судя по коду имеет смысл почитать про треды для начала )))) У вас тут не будет "параллельной" работы.
согласен . многопоточности нет
6  Qt / Многопоточное программирование, процессы / Re: нейронная сеть и потоки : Март 18, 2021, 12:29
все очень просто
Код:
std::thread t( [=]{
 for( int i=0; i<argc; ++i )
 std::cout << argv[i] << “\n”;
 });
 t.join();
7  Qt / Многопоточное программирование, процессы / Re: нейронная сеть и потоки : Март 18, 2021, 09:27
QVector и std::vector особой разницы нет . тут именно математика числа double и возведение в степень .
8  Qt / Многопоточное программирование, процессы / нейронная сеть и потоки : Март 18, 2021, 00:16
Доброго времени суток. я сделал нейронную сеть на QVector<QVector<QVector<double>>> веса; и QVector<Qvector<double>> активированные выходы; , все это работает в одном потоке ,но так медленнннноооо .как я понимаю самые трмоза в математических расчетах сигмоиды и вес * актив.выход . с потоками не разу дело не имел , то что видел в инете - это создаем поток и выводим в терминал . как можно создать параллельные потоки и дождатся их равершения и только потом переходить на следующий слой . у меня Linux , если я правильно понимаю ,то можно создать хоть 10000 потоков и Ось с ними разберется и передаст управление основному потоку ( здесь я могу ошибаться из-за своей безграмотности ). может у кого есть пример похожий на мою проблему или как это можно решить ? спасибо за понимание  Смеющийся
Страниц: [1]

Страница сгенерирована за 0.077 секунд. Запросов: 24.