Как всегда полезно и доступно для новичков ☝Спасибо за такую работу
@ДимаСтолбов-в8в11 ай бұрын
🗿
@seoonlyRU2 жыл бұрын
Вот это реально круто! Лайк от кодера-легенды СЕООНЛИ
@АндрейБабаш-ю9п Жыл бұрын
Урок супер! Спасибо!
@danielianhaik Жыл бұрын
Наконец то кто-то по человечески обяснил что такое бек пропагейшн, а не шестиэтажными формулами, а скорее всего те кто шестиэтажными формулами обясняют, сами не понимают о чем говорят. Спасибо.
@PavelBlokhin-pf7iv3 жыл бұрын
Шикарная информация, очень пригодилась. Всё понятно
@etudarium53873 жыл бұрын
Спасибо за обратную связь!
@Adissey3 жыл бұрын
Спасибо за материал, идеальное введение в ML для новичков
@amaideltfly1512 Жыл бұрын
это было... чудесно🌟...ты лучший🎯
@Dmitrii-Zhinzhilov Жыл бұрын
Благодарю! Отличный урок!!
@ВассаСупрун2 жыл бұрын
очень интересное видео) 👍🏻 спасибо за информацию
@nailvagizov55812 жыл бұрын
Очень интересная и полезная информация. Спасибо за видео
@Biohack-16 ай бұрын
Учу нейронки и питон чисто для себя, давно хотел сделать себе голоссового ассистента по типу алисы или сири но которая будет более практически полезной
@youtubeyoutube62053 жыл бұрын
А можешь подсказать, как сделать сеть которая будет классифицировать голоса например мой/не мой, мужской/женский, взрослый/детский, как это сделать?! Какой тип нейронных сетей используется рас, в каком формате подаётся звук на вход сети два
@asfasf67293 жыл бұрын
Можете ли пжл выложить набранный код целиком, чтобы не набирать с экрана?
@IvanPetrov-b8n5 ай бұрын
Тут по сути перевод. Урок про ботинки на главном сайте тензорфлоу и там и код и картинки там все
@Tolyeschebudet2 жыл бұрын
Хорошее видео!
@uchixa_danya2 жыл бұрын
Спасибо большое, очень доступно!
@владимиржалеевАй бұрын
Предсказывать? Предсказывать..... Тут скорее всего - определять/распознавать...
@nikitakolchanov350 Жыл бұрын
Спасибо большое, а если хочешь свои картинки загрузить?
@gulginaavizo3 жыл бұрын
Интересная информация, благодарю 🙏
@babylontower3 жыл бұрын
Здорово!
@ezdeved2 жыл бұрын
Качественно, спасибо!
@mb1912710 ай бұрын
Люди, если вы хотите углубится в эту тему то почитайте про свёрточные сети, их точность предсказания намного выше
@nouchance3 жыл бұрын
Спасибо большое!
@kaktak9507 Жыл бұрын
Вы просто супер, спасибо за видео)
@Syberby2 ай бұрын
А как обучить нахождение на своих изображениях) Требуется сделать поиск по изображениям в интернет магазине одежды)
@etudarium53872 ай бұрын
1. Сбор данных: - Соберите большой набор изображений одежды из вашего магазина. - Разметьте изображения по категориям, стилям, цветам и т.д. 2. Выбор модели: - Используйте предобученную модель (например, ResNet, VGG, или EfficientNet). - Настройте ее на ваш набор данных (fine-tuning). 3. Обучение модели: - Используйте технику transfer learning. - Обучите модель извлекать признаки из изображений одежды. 4. Создание векторных представлений: - Используйте обученную модель для создания эмбеддингов изображений. 5. Реализация поиска: - Используйте алгоритмы поиска ближайших соседей (например, косинусное сходство). 6. Интеграция в магазин: - Добавьте функцию загрузки изображений для поиска. - Реализуйте быстрый поиск по векторным представлениям. Это если кратко))
@snipernat22992 жыл бұрын
Очень познавательное видео, а можно где-то исходники этих фоток взять?
@olegzaza2 жыл бұрын
А как эту обученную модель теперь скачать на комп и подключить к проекту?
@МихаилМитьков-т9ц3 жыл бұрын
Здравствуйте! Спасибо за ваш канал. Решил поэкспериментировать с кодом где я преобразую 784 просто в строку без этих вот команд. Результат вроде бы должен быть одним и тем же. Но при обучении очень высокая ошибка, а у вас она порядка сотых.. у меня больше 2-х. Почему так? Вы может и не ответите мне, но я все же рискну и спрошу у вас))) А то вот полно таких видео с другими блогерами где вы все строго используете команду Flatten(input_shape=(28, 28, 1)). А почему в начале не преобразовать просто в одномерный вектор чтоб было соответствие вашей архитектуре сети? Тогда обучив сеть и взяв весовые коэффициенты путем перемножения матриц и функций активации ее можно использовать уже в других программах. А вот так как вы все рассматриваете однотипные примеры по распознаванию текста и прочего, не дает возможности строить нейронную сеть для любых задач. Потому что с одномерным вектором она никак не обучается правильно import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import numpy as np import matplotlib.pyplot as plt from tensorflow.keras.datasets import mnist # библиотека базы выборок Mnist from tensorflow import keras from tensorflow.keras.layers import Dense, Flatten (x_train, y_train), (x_test, y_test) = mnist.load_data() # стандартизация входных данных x_train = x_train / 255 x_train_my = x_train.flatten() x_test = x_test / 255 x_test_my = x_test.flatten() y_train_cat = keras.utils.to_categorical(y_train, 10) y_test_cat = keras.utils.to_categorical(y_test, 10) plt.imshow(x_train[2], cmap=plt.cm.binary) plt.show() x_train_my_2 = [] x_test_my_2 = [] for i in range(0, int(len(x_train_my)/784)): x_train_my_2.append(x_train_my[i:784 + i]) for ii in range(0, int(len(x_test_my)/784)): x_test_my_2.append(x_test_my[ii:784 + ii]) j = 59999 print(len(x_train_my_2[j])) print(y_train_cat[j]) model = keras.Sequential() model.add(Dense(128, input_shape=(784,), activation='relu')) model.add(Dense(10, activation='softmax')) print(model.summary()) model.compile(optimizer=keras.optimizers.Adam(0.001), loss='categorical_crossentropy', metrics=['accuracy']) model.fit(np.array(x_train_my_2), y_train_cat, batch_size=32, epochs=5, validation_split=0.2) model.evaluate(np.array(x_test_my_2), y_test_cat) А вот что выдает при обучении: Epoch 1/5 1500/1500 [==============================] - 4s 3ms/step - loss: 2.3098 - accuracy: 0.1074 - val_loss: 2.3103 - val_accuracy: 0.1040 Epoch 2/5 1500/1500 [==============================] - 3s 2ms/step - loss: 2.3006 - accuracy: 0.1151 - val_loss: 2.3081 - val_accuracy: 0.1073 Epoch 3/5 1500/1500 [==============================] - 4s 2ms/step - loss: 2.2931 - accuracy: 0.1226 - val_loss: 2.3148 - val_accuracy: 0.1024 Epoch 4/5 1500/1500 [==============================] - 4s 2ms/step - loss: 2.2795 - accuracy: 0.1344 - val_loss: 2.3242 - val_accuracy: 0.1042 Epoch 5/5 1500/1500 [==============================] - 4s 2ms/step - loss: 2.2580 - accuracy: 0.1529 - val_loss: 2.3411 - val_accuracy: 0.1020 очевидно что ничего не распознается правильно
@kirilllevin53723 жыл бұрын
у меня точно такая же проблема и ошибка точно такая же как и увас порядка 2.3
@redfun90992 жыл бұрын
Ну как с решением данной проблемы, я тоже заострил на данном моменте внимание и ни как не могу понять, что делать что бы данные распознавались правильно
@redfun90992 жыл бұрын
Если у вас получилось и если вам не трудно объяснить, прошу распишите!!!
@ПетрДостаевский2 жыл бұрын
Спасибо!
@edc22811 ай бұрын
спасибо за видео все понятно объяснил и показал, решил сам написать, но очень долго обучается что делать? выше 0.17 попадание не доходит
@SEMENKIS11 ай бұрын
после блока x_train = x_train / 255 нужно проверить поменялся ли у тебя параметр по x то есть градация серого
@SEMENKIS11 ай бұрын
и глянь figsize , он должен быть 10,10
@natalinait62062 жыл бұрын
Очень полезная информация
@sorockinalex9 ай бұрын
Хотелось бы нейронку, которая бы определяла мой голос и выполняла голосовые команды, которые исходят от меня, а на от кого попало
@ikiliikkuja-gy7qw5 ай бұрын
Подскажите пожалуйста, а в данном случае была проведена разметка изображений или мы опираемся только на пиксели?
@Dimoven2 жыл бұрын
Как сеть применима в жизни. Когда подаем большой снимок 1920х1080, где на одном участке фото может быть футболка. Но у нее может быть отличный от тренировочных фото угол, например 45° и другие отношения ширины и высоты, например широкая футболка. Нам нужна еще какая-то сеть определения позиции возможного класса на большом фото? А потом сделать сжатие фото до нужной модели? А как нормировать углы, это только на тренировке будет все четко и прямо.
@import_this Жыл бұрын
Определение вещи на фото и определение места на фото это две независимые операции. По идее код должен принимать только фото объекта для определения, все что не относиться к этому процессу должно быть вынесено отдельно
@morgan3692 Жыл бұрын
@@import_this эта сеть не применима в жизни, это пример, задача, которую студент учится решать в процессе обучения. Реальная есть будет состоять из большего количества слоев и нейронов. Нейронную сеть можно обучить находить объекты на изображении вне зависимости от их положения.
@import_this Жыл бұрын
@@morgan3692 да, согласен. Но я ориентировался на свой опыт в ecommerce, где нет необходимости обучать искать, а есть конкретные фото товаров. Поэтому сказал, про то, что эти операции стоит разделить
@andreiantipov6943 Жыл бұрын
Есть ли какие-то мобильные приложения для создания массива фотографий с участием того или иного объекта определенного класса? Например отфоткать со всех сторон и на разном удалении искомый объект?
@krivdada Жыл бұрын
Делала пошагово, вчитывалась в каждую букву, но в итоге модель не смогла начать эпохи из-за неизвестной функции потерь "sparse_categoriсal_crossentropy". Помогите пожалуйста🥲
@krivdada Жыл бұрын
проблема решилась сменой литерала: loss=keras.losses.SparseCategoricalCrossentropy()
@kirilllevin53723 жыл бұрын
Сделал все как в ролике .НО! получается постоянно очень большие ошибки и маленькая точность.Прошу помочь
@Rusia-16 Жыл бұрын
У меня вообще она ни разу не угадала )))
@mb1912710 ай бұрын
посмотри другой урок но не от этого автора
@johndonne21702 жыл бұрын
Здравствуйте! Есть ли такое же видео для обучения машинному переводу в Google Colaboratory? То есть, загрузка параллельных данных и процесс настройки обучения?
@user-Nachum Жыл бұрын
Бомба
@sorockinalex9 ай бұрын
Подскажите, а как теперь из этого кода сделать приложение для андроид?
@xyke_p Жыл бұрын
А узнать по какой картинке, из набора обучающих данных, нейросеть определила изображение?
@aleksandrbansh3074 Жыл бұрын
Вы так и не поняли , как работает нейросеть...
@travocure6 ай бұрын
Да, пересмотрите ещё разок видео. Нейросеть не сравнивает входное изображение с тестовыми, она соотносит входные данные с «весами» нейронов и приходит таким образом к ответу
@kolyangod27152 жыл бұрын
Отличное видео! Не могли Вы рассмотреть создание нейросети, допустим, для определения заболеваний по МСКТ или КТ снимках?
@jenniekasseta Жыл бұрын
Просто надо загрузить снимки заболеваний, а не одежды и все
@dios9168 Жыл бұрын
@@jenniekasseta можешь сказать как это сделать? Я вот насчёт пикселей не понял, зачем это?
@ISAWER1 Жыл бұрын
А книге "pytorch.освещая глубокое обучение" есть развернутый пример по КТ
@Denis_QA Жыл бұрын
@@dios9168чтобы вычислительные мощности компьютера тратили меньше времени на вычисления
@Roofofrogues-game8 ай бұрын
Здравствуйте, тоже интересуюсь данной темой, вам удалось найти?
@tsibulsky4900 Жыл бұрын
Ужасно раздражает музыка на фоне .. .. Зачем вообще накладывать какой-то шум который мешает слушать объяснение
@artgrail2 жыл бұрын
Скажите, есть ли иная возможность приобрести ваш курс, кроме как на Udemy?
@etudarium53872 жыл бұрын
Здравствуйте! Сейчас пока в процессе переноса курсов на другую платформу. Можете скачать мою одноименную книгу на Литресе (автор Т.Казанцев)
Объясните пожалуйста дилетанту) Вот есть например необходимость внедрить нейросеть для производства. Условно, по конвейеру идет деталь не той формы, камера фиксирует ее как брак. Для реализации я правильно понимаю что есть нет желания возиться с локальной установкой TF на комп то обучить модель можно через колаб, после чего выгрузить обученную модель. И загрузить ее например в open cv?
@IvanPetrov-b8n5 ай бұрын
Да там есть функция експорта. Но обучить будет не легко. Легче будет установить все на свой комп, чем обучить 😂
@IvanPetrov-b8n5 ай бұрын
Я к тому, что если вам не понятен процес установки и ошибки по зависимостям, то обученин будет гораздо сложнее. Ведь чел показал готовое с сайта тензора. Даю наводку, все хорошо работает с версией пайтон 3.8 Если на видеокарту, то надо CUDA поставить от Nvidia. Только тогда все работает. А потом вам надо побольше изображений и процесс обучения идет попиксельно. То есть да, много времени пойдет. Так, поверхностно. По хорошему надо знать диференциал и мат анализ, чтоб осилить как реализован нейрон. И тогда вообще станет понятно что за функции и почему.
@IvanPetrov-b8n5 ай бұрын
И результат всегда приближен к истине. То есть как человек на 100% деталь пока сложно опознать, будет результат очень приближен. И он береться за истину, так как там измеряется вес. Там нет интеллекта, там интерпретация интеллекта через мат анализ.
@IvanPetrov-b8n5 ай бұрын
Я тоже думал что все нахаляву, сел и поехал. Установил все на комп, загрузил дату свою, свои картинки и получил черную картину в результате и низкий % вероятности😃
@andreiantipov6943 Жыл бұрын
Если возможен вариант когда фотография-изображение не содержит ни одного искомого изображения-объекта, то нужно еще один создавать класс None когда объекта на фото нет?
@kirilllas72475 ай бұрын
Как сделать чтобы нейронка распознавала нужные изображения в браузере, например листаешь вкладку с фотографиями, и она как то распознает нужное, по датасетам
@etudarium53872 ай бұрын
Для распознавания изображений в браузере можно использовать JavaScript-библиотеки машинного обучения, такие как TensorFlow.js или ml5.js. Алгоритм: 1. Загрузите предобученную модель или обучите свою на нужном датасете. 2. Создайте расширение для браузера, которое будет анализировать изображения на открытых страницах. 3. Используйте API браузера для доступа к изображениям на странице. 4. Примените модель к каждому изображению для классификации. 5. Отобразите результаты или выполните нужные действия с распознанными изображениями. Причем не забудьте, что важно учитывать производительность и соблюдать правила конфиденциальности при работе с данными пользователя.
@ryso3d595 Жыл бұрын
Подскажите пожалуйста, а как изменить код чтобы использовать свою датабазу?
@vektorian9214Ай бұрын
Здравствуйте, получилось у вас это сделать?
@Derregas Жыл бұрын
А как заставить эту нейронку распознавать изображение не из выборки? Допустим, я загружаю изображение через load_img(' ') и передаю её в модель?
@Roofofrogues-game8 ай бұрын
Здравствуйте, удалось найти?
@Roofofrogues-game8 ай бұрын
Здравствуйте, удалось найти?
@travocure6 ай бұрын
Для начала стоит создать функцию нормализации фотографий (по примеру из начала кода автора, где изображения разбиваются на пиксели и определяются количество пикселей и границы цвета), потом нужно прогнать входное изображение через такую функцию и далее подать в model.predict()
@piggyoinky Жыл бұрын
подскажите а как обычно решается задача установления факта наличия или отсутствия какого то одного класса на фото
@Veselova_radiology7 ай бұрын
у меня такая ошибка : 'str' object is not callable. подскажите пожалуйста как решить, писала всё как на видео
@pdn_rus2 жыл бұрын
в данном видеоролике какие алгоритмы классификации используются?
@pdn_rus2 жыл бұрын
логическая регрессия?
@andreiantipov6943 Жыл бұрын
А если у меня свой набор фотографий-изображений по каждому классу, то как это загрузить в Keras?
@vektorian9214Ай бұрын
Здравствуйте, удалось?
@AlonsoImput2 жыл бұрын
Я, конечно, все понимаю. Но почему урок для новичков строится на преимущественно использовании готовых решений? Имхо, как было нихуя не понятно, как оно работает в своей основе, так и осталось. Было бы логично показать очень простой вариант, но написанный полностью с нуля, так и базовые принципы построения архитектуры стали бы понятными и можно было бы адаптировать полученные знания под другие ЯП.
@IvanPetrov-b8n5 ай бұрын
Посмотрите что такое диференциал. Там по сути алгоритм диференцирования вложен. А тут чувак показал уже фреймворк Керас от тензора. И по сути переводит урок тензора.
@AlonsoImput5 ай бұрын
@@IvanPetrov-b8n я знаю что такое дифференциал. Вопрос в оом, зачем нам этот фреймворк, если мы новички и в душе не ебем как оно работаеи? Мой поинт в том, что нужно давать не решение частного случая частным инструментом, а объяснять фундамент.
@applesin4752 жыл бұрын
Etudarium, мне нужна ваша помощь, если не сложно, ответьте мне пожалуйста
@nikolaydd62193 жыл бұрын
Сделай пожалуста пример как потом эту обученную модель использовать в своём приложении на C++ C# Delphi JavaScript PHP
@АлисаГаланина-з9т2 жыл бұрын
Скажите пожалуйста, как каждому из 10 нейронов был задан конкретный класс? Не понимаю где мы задали, что, например десятый нейрон активируется на ботинке?
@etudarium53872 жыл бұрын
Это уже готовый датасет (созданный специально для практики и обучения специалистов по МО), и в нем уже изначально заданы 10 классов для каждого типа одежды
@ВадимГалыгин-р9к Жыл бұрын
@@etudarium5387 Здравствуйте. Подскажите, пожалуйста, как свой датасет использовать? Имеется архив изображений объекта интереса
@ПриманкаТВ-о6ш2 жыл бұрын
про дата сеты что-то вообще информации мало... как подготовить свой датасет для обучения и какая структура данных должна быть в нем.. не подскажите где нарыть инфу ?
@etudarium53872 жыл бұрын
Обычно датасет предоставляет заказчик, например, выгружает файл со всеми данными в excel или .csv формате. Если хотите подготовить свой датасет, то для качественного обучения потребуются сотни и тысячи данных, но вы также можете сделать это самостоятельно. Есть также сайты, где можно скачать различные датасеты для практики, например, на github или kaggle
@aviator14723 ай бұрын
А как в один входной нейрон можна подать сразу 784 значения? Зачем тогда остальные входные нейроны?
@etudarium53872 ай бұрын
Ваш вопрос затрагивает важную концепцию в архитектуре нейронных сетей. 1. Входной слой: - Обычно каждый входной нейрон соответствует одному значению входных данных. - В случае с изображением 28x28 пикселей (784 пикселя) у вас будет 784 входных нейрона. 2. Flatten операция: - Двумерное изображение "разворачивается" в одномерный вектор. - Каждый пиксель становится отдельным входом для нейронной сети. 3. Структура сети: - Нет "одного входного нейрона" принимающего все 784 значения. - Вместо этого есть 784 отдельных входных нейрона. 4. Обработка данных: - Каждый из 784 нейронов принимает значение одного пикселя. - Все эти нейроны вместе представляют полное изображение. 5. Следующие слои: - Скрытые слои обрабатывают эту информацию, выявляя паттерны. 6. Преимущества: - Позволяет сети учиться на пространственных отношениях между пикселями. - Каждый пиксель может вносить свой вклад в распознавание. Таким образом, нет "остальных" входных нейронов - все 784 нейрона используются для представления полного изображения.
@andreypuchkov3604 Жыл бұрын
Спасибо за видео! А код программы в текстовом формате можно получить или только в книге?
@mertaii Жыл бұрын
какой тип нейронной сети здесь?
@workvngАй бұрын
А скинуть файл с колаба слишком сложно
@yanavin29642 жыл бұрын
я начал учить питон чтобы потом перейти на нейронку или ИИ скажите плз будет ли это актуально через 5-10 лет и какие перспективы у всего этого что можно будет делать с помощью этого?
@hypocrite07242 жыл бұрын
В целом, нейронки/ИИ обязательно будут актуальны через 5-10 лет, а то и 50, т.к. щас все стремятся к автоматизации, из-за чего ИИ не перестанет быть актуальным, если, конечно, всякие активисты не начнут устраивать митинги по защите ИИ от его эксплуатации ;)
@etudarium5387 Жыл бұрын
как сказал один ведущий нейронщик из Теслы, с появлением ChatGPT и ему подобных сервисов, скоро самым популярным языком программирования станет - английский)
@Romaboy3 жыл бұрын
Подписка, хороший контент
@torcher5023 Жыл бұрын
Да уж, друзья, хочется верить, что когда-нибудь так называемое "машинное обучение" уйдëт от подбивки весов методом градиентного спуска до чего-нибудь более умного, но, видимо, пока не судьба.
@sergeigamich2 жыл бұрын
Здравствуйте! При выводе 25 картинок почему-то возникает ошибка: IndexError Traceback (most recent call last) in () 5 plt.yticks([]) 6 plt.imshow(x_train[i]) ----> 7 plt.xlabel(class_names[y_train[i]]) IndexError: list index out of range Не понимаю в чём может быть проблема. Код как в уроке.
@sergeigamich2 жыл бұрын
Ошибку нашёл :) был пропущен один класс в списке, в итоге получилось 9 классов вместо 10-ти
@jewelkz912 жыл бұрын
Спасибо, очень полезно)
@alibakkuev470 Жыл бұрын
Доброго времени суток. Можно ли обучить нейронку распознавать действия? Касаемо футбола. Отдал пас, забил гол, отдал голевую передачу, совершил перехват мяча, отобрал мяч, выбросил аут, подал угловой, сфолил, сфолил на нем и тд?
@etudarium5387 Жыл бұрын
насколько я знаю, в футбольной индустрии уже используются специальные программы, которые автоматически считывают все действия каждого футболиста на поле, включая все вами перечисленные , и выдают очень подробную статистику
@old8918 ай бұрын
Надо было все таки делить на 256)
@chaotic_fox72548 ай бұрын
0 из 10 мне писал class_names ошибка а только через полчаса случайно додумался поменять на list и тут же всё заработало. 0 из 10 не рекомендую. уточнять надо что писать class_names или list
@nilsharafutdinov36792 жыл бұрын
+
@Yurikuznet11 ай бұрын
а смысл освоить чужой готовый API? как оно работает это магия и все картинки с кружочками никак не помогут ее воспроизвести. еще и окружение гугловское. вы свою сеть строите или где?
@Rusia-16 Жыл бұрын
А у меня ни хрена не угадывает ! Какая то тупая сеть получилась )))
@LastWeg3 жыл бұрын
Очень похоже, что данная лекция это лайтовый плагиат с бесплатной лекции Андея Созыкина "Нейросети на Пайтон", которые присутствуют тут же на Ютубе.
@etudarium53873 жыл бұрын
Ваш комментарий оскорбителен и необоснован. Использование нейросети для распознавания изображений одежды (набор Fashion MNIST) представляет собой одну из самых популярных задач для тех, кто только начинает изучать нейронные сети и используется практически во всех курсах/книгах/учебниках/мануалах по машинному обучению и нейросетям. Если попробовать найти данную задачу в интернете, то можно легко получить сотни ссылок как на русском так и на английском языках, где объясняются как с ним работать, поэтому неудивительно, что какая-то часть контента будет похожа, ибо сам набор данных, который используется для обучения, является одинаковым для всех
@ivan_inanych Жыл бұрын
ужас, чел даже не удосужился другой датасет взять, трижды пережёванный кал
@mo_dream2 жыл бұрын
plt.figure(figsize=(10,10)) for i in range (25): plt.subplot(5,5,i+1) plt.xticks([]) plt.yticks([]) plt.imshow(x_train[i]) plt.xlabel(class_names[y_train[i]]) Ругается на 3 строчку, поддчеркивает plt File "", line 3 plt.subplot(5,5,i+1) ^ IndentationError: expected an indented block