<MyRusakov.ru />

Создание нейросетей на Python

Создание нейросетей на Python

Этот курс научит Вас созданию нейросетей на Python. Курс рассчитан на начинающих. Вся информация идёт от простого к сложному очень маленькими шажками. При этом глубокое знание математики не требуется. Поскольку в курсе Вы будете получать эти знания по мере необходимости.

Из курса Вы узнаете всю необходимую теорию и терминологию. Научитесь создавать нейросети самых разных архитектур и обучать их. Также Вы создадите собственный фреймворк. Что очень важно проделать для грамотного использования того же PyTorch. Затем Вы изучите и сам PyTorch.

Помимо уроков к курсу идут упражнения для закрепления материала.

Ещё Вы получите Бонусы, дополняющие основной курс: "Распознавание изображений", "Анализ настроения по тексту отзыва", "Программирование на Python с Нуля до Гуру".

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Древовидные структуры данных в PHP на примере вложенных комментариев

Древовидные структуры данных в PHP на примере вложенных комментариев

Одной из самых распространенных структур данных в программировании является - дерево. Например, дерево комментариев, дерево каталогов, дерево категорий и т.д. Т.е. это абстракция окружает нас везде.

Далее я покажу вам пример, как можно создать древовидную структуру данных в PHP с помощью рекурсивной функции. Данная функция будет создавать структуру с произвольной вложенностью дочерних элементов.

Код ниже может быть использован для вывода древовидных комментариев к статье:


<?php

     
//  строит структуру дерево из простого списка
   
function buildTree(array &$list)
   
{
        $tree
= [];

       
// делаем группировку по идентификатору родителя
       
foreach ($list as $node) {
            $tree
[$node['parent_id']][] = $node;
       
}

       
// рекурсивная функция, создающая вложенную (древовидную) структуру
        $recursiveBuilder
= function ($children) use (&$recursiveBuilder, $tree) {

           
foreach ($children as $key => $child)
           
{
                $child_id
= $child['comment_id'];

               
if (isset($tree[$child_id])) {
                    $child
['answers'] = $recursiveBuilder($tree[$child_id]);
               
}

                $children
[$key] = $child;
           
}

           
return $children;
       
};

       
return $recursiveBuilder($tree[0]);
   
}


Вот структура таблицы комментариев:


create table comments
(
    comment_id
int auto_increment                     primary key, -- первичный ключ - id комментария
    post_id    
int                                    null,        -- id статьи
    parent_id  
int          default 0                 null,        -- идентификатор родительского комментария
    author     varchar
(100) default 'Нет имени'       null,
    created_at datetime    
default CURRENT_TIMESTAMP null,
    text       text                                  
null
)
comment
'хранит все комментарии к статьям'

Создание вложенных комментариев:


<?php

   
// функция для работы  с подключения к базе MySQL
   
function connection(string $host, string $db, string $user, string $pass, string $charset = 'utf8'): \PDO
   
{
        $dsn
= "mysql:host=$host;dbname=$db;charset=$charset";
        $opt
= [
            PDO
::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO
::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO
::ATTR_EMULATE_PREPARES   => false,
       
];

        $pdo
= new PDO($dsn, $user, $pass, $opt);

       
return $pdo;
   
}


   
// подключаемся к базе
    $connection
= connection('127.0.0.1', 'comments_db', 'user', 'password');

   
// выбираем все комментарии к статье с идентификатором 1
    $stmt
= $connection->query('SELECT * FROM comments WHERE post_id = 1');
    $comments
= $stmt->fetchAll();

   
// строим дерево
    $tree
= buildTree($comments);

   
// выводим на печать
    print_r
($tree);

Вот таким образом можно создать дерево комментариев на PHP. Да и не только это. Например, с помощью функции buildTree(array) можно построить и каталог интернет-магазина и карту сайта.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (1):

alex alex alex alex 30.08.2023 11:40:26

Добрый день Михаил. скрипт работает, только выводил ошибку в том случае если нет комментариев на странице, я прописал условие и вложил в него рекурсивную функцию.. сейчас не могу сообразить как выводить сами комментарии - после запроса к базе у меня есть массив res, который переходит в tree, а как вывести сами файлы шаблонов комментов не пойму..у меня шаблон комментария и ответа сделаны разными файлами, которые из массива res успешно подключаются в форыче правда без рекурсии все в куче

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.