<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сериализация объектов в PHP.

Сериализация объектов в PHP.

Привет всем! Сегодня мы поговорим про такую тему, как сериализация объектов в PHP.

Зачем это нужно?

Если вы создаете клиент-серверное приложение, где захотите обмениваться информацией со скриптом, то здесь и пригодится сериализация. Нужна она для того, чтобы преобразовать обычный php объект в строку, которую сможет понять скрипт.

Пример использования

Для того, чтобы сконвертировать объект в строку, используется функция serialize(), а для того, чтобы преобразовать его обратно - unserialize().

В качестве примера приведем класс User и создадим его объект.

<?php
  class User {
   private $name;
   private $role;

   public function __construct($name, $role) {
    $this->name = $name;
    $this->role = $role;
   }

   public function changeName($name) {
    $this->name = $name;
   }

   public function changeRole($role) {
    $this->role = $role;
   }

   public function getName() {
    return $this->name;
   }

   public function getRole() {
    return $this->role;
   }

   $user = new User('John', 1);
   $string = serialize($user);
   echo $string;
  }
?>

Мы получим строку, хранящую наш объект. Теперь мы можем передать ее, к примеру, скрипту.

Теперь давайте преобразуем нашу строку обратно в наш объект.

$user = unserialize($string);

Проверим, что наш объект работает

echo $user->getName(); // вернет 'John'

Если вы посмотрите на строку, которую сформировала функция serialize, то заметите, что там отсутствуют названия методов. Так что, чтобы все работало, следует подключать класс раньше, чем вызывается функция unserialize.

<?php
  spl_autoload_register(function($name) {
   require_once $name.'.php';
  });

  $user = unserialize($string);
?>

Магические методы __sleep и __wakeup

Если вы хотите, чтобы перед тем, как объект преобразуется в строку, или перед тем, как объект образуется из строки, что-то происходило, то используйте магические методы __sleep и __wakeup.

Например

<?php
  class User {
   // ...

   public function __sleep() {
    echo 'Начинаем конвертировать объект в строку<br>';
    return ['name', 'role'];
   }

   public function __wakeup() {
    echo '<br>Начинаем конвертировать строку в объект';
   }
  }
?>

Заметьте, что в методе __sleep вы обязаны вернуть массив, содержащий названия полей, которые должны быть включены в строку. Таким образом, вы можете исключить поля, которые вам не нужны в результирующей строке.

Итак, на этом все. Спасибо за внимание и удачного кодинга!

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

Mikhail777 Mikhail777 01.07.2014 09:51:35

Здравствуйте. А можно, например сформировать строку. Сохранить её в переменную и вернуть её в магическом методе __toString

Ответить

php_programmer php_programmer 01.07.2014 11:27:26

Здравствуйте. Если я Вас правильно понял, то Вы хотите, чтобы при попытке вывода объекта, как строку, выводился результат вызова функции serialize()? Если так, то вот решение: http://pastebin.com/bLfM1J6p

Ответить

ScarEngineer ScarEngineer 01.07.2014 15:09:16

Спасибо за статью. А когда следующая статья про создание движка?

Ответить

php_programmer php_programmer 01.07.2014 23:22:37

завтра

Ответить

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