Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
2 / 1 / 1
Регистрация: 03.03.2020
Сообщений: 15

Найти градиент (перед обновлением параметров)

04.08.2022, 08:29. Показов 1424. Ответов 6

Студворк — интернет-сервис помощи студентам
Привет,
допустим есть пять точек (размерность 3)

Code
1
2
3
4
5
6
XTrain:
[[0.20861965 0.47901568 0.92075312], 
[0.96175914 0.70659989 0.82364516], 
[0.51805523 0.42727509 0.92545694], 
[0.4061363  0.55752676 0.56914541], 
[0.47859976 0.81323072 0.042954  ]]
Истинные метки (каждая принадлежит к одной из 10)
Code
1
2
3
4
5
6
YTrain:
[[0. 0. 0. 0. 0. 1. 0. 0. 0. 0.], 
[0. 0. 0. 0. 0. 1. 0. 0. 0. 0.], 
[1. 0. 0. 0. 0. 0. 0. 0. 0. 0.], 
[0. 0. 0. 0. 0. 0. 0. 0. 0. 1.], 
[0. 0. 0. 1. 0. 0. 0. 0. 0. 0.]]
после умножения на изначально рандомные веса и активации softmax получаю предсказанные метки YHat

Code
1
2
3
theta = np.random.normal(size=(3, 10))
a = np.matmul(XTrain, theta)
YHat = tf.nn.softmax(a)
Считаю loss

Code
1
2
cce = tf.keras.losses.CategoricalCrossentropy()
loss = cce(YTrain, YHat).numpy()
Считаю градиент так:
Code
1
gradient = np.matmul(XTrain.T, (YHat - YTrain)) / 5
Как посчитать градиент с помощью tensorflow?
Думал так:

Code
1
2
 with tf.GradientTape() as tape:
            grads = tape.gradient(loss, theta)

но выдает ошибку

в этой теме начальный код
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.08.2022, 08:29
Ответы с готовыми решениями:

Триггер перед обновлением
Добрый вечер! Есть следующие таблицы (на рисунке). Создаю триггер, который при обновлении полей таблицы CONT_POSTAVKA (т.е. при отгрузке...

Проверить данные перед обновлением
Добрый вечер. Ситуация такая: есть detailsView, при обновлении два параметра берёт из установленных в нём полей и два - из контролов. ...

Перед обновлением вылетает прокси на linux mint13
В линуксе я полный 0. Установлен линукс минт 13, на нем настроен прокси сервер. Установлено две сетевухи. К первой подключен роутер с...

6
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
13.08.2022, 14:04
Как посчитать градиент с помощью tensorflow?
зачем оно вам?
TF и Keras сами всё посчитают - Training and evaluation with the built-in methods

сделайте модельку, обратите внимание на слой с функцией активации Softmax
Python
1
outputs = layers.Dense(10, activation="softmax", name="predictions")(x)
-- он и даст вам ваш multi-class classification, который вам нужен в прошлой ветке... (до него вставьте пару слоёв с relu)...
потом скомпилируйте модельку
Python
1
2
3
4
5
6
7
model.compile(
    optimizer=keras.optimizers.RMSprop(),  # Optimizer
    # Loss function to minimize
    loss=keras.losses.SparseCategoricalCrossentropy(),
    # List of metrics to monitor
    metrics=[keras.metrics.SparseCategoricalAccuracy()],
)
- я взяла 1й попавшийся пример с tf-manual, но там всё по одному шаблону делается, просто разберитесь с общей структурой кода для построения модели, и вникните (!) в параметры - выбирвйте нужные вам ! Например в строке кода выше Оптимизатор - RMSprop, можно использовать SGD (Stochastic Gradient Descend), но лучше Adam --- в общем все подробности всех настроек для модели см. в мануале... -- ЭТА строка и задаёт оптимизатор, который сам внутри библиотеки сам вам и просчитает градиенты по вашим данным (зачем вам писать то, что уже есть в библиотеке?)
потом обучите модельку - model.fit...
и можно дальше использовать её для классификации - подавая features в метод model.predict
===
ИЛИ есть какой-то тайный смысл всё сделать вместо библиотеки?? Keras даёт очень удобные абстракции для построения моделей, а TF - официальный бэкэнд для него (вычисления здесь) -- зачем вам самому писать бэкэнд? если он работает и через Keras запросто из него дёргаются нужные функции/расчёты (включая метод градиентного спуска)
p.s.
ищите многоклассовую классификацию на Keras (который работает на tf) -- сильно упростите себе задачу !! задавайте нужные вам параметры объектам уже существующих в Keras классов...
подсказку уже оставила - отличие бинарной классификации от мнгоклассовой в Keras в последнем слое layers.Dense : для многоклассовой активационная функция - softmax, для бинарной clf - sigmoid
2
2 / 1 / 1
Регистрация: 03.03.2020
Сообщений: 15
13.08.2022, 17:32  [ТС]
Цитата Сообщение от JeyCi Посмотреть сообщение
зачем вам писать то, что уже есть в библиотеке?
Цитата Сообщение от JeyCi Посмотреть сообщение
ИЛИ есть какой-то тайный смысл всё сделать вместо библиотеки??
То что я сейчас делаю, это упрощаю код и пытаюсь сделать так, что бы все вычислялось с помощью библиотек tensorflow.

Добавлено через 1 час 3 минуты
градиенты нужны для алгоритм MAML. Пока не совсем понял как весь supervised алгоритм сделать с помощью тензорфлоу.
0
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
14.08.2022, 08:47
Цитата Сообщение от VasAcc Посмотреть сообщение
градиенты нужны для алгоритм MAML.
ведь в его основе SGD (оптимизатор называется в keras).
Не лезьте вы в эти дебри, если задача - упростить. Изучите библиотеку и пользуйтесь ей (tensorflow в связке с keras). Вам не надо все градиенты писать самому! - Keras вытащит нужное из бэкэнда (согласно параметрам, которые вы указываете в создаваемых объектах классов Keras). А бэкэнд для него - tensorflow.
Цитата Сообщение от VasAcc Посмотреть сообщение
Пока не совсем понял как весь supervised алгоритм сделать с помощью тензорфлоу.
изучайте линк, который оставила выше, - там кода всего несколько строк - ВАЖНО: понять какие параметры для каких моделей использовать в объектах Keras -- это самая большая часть нужных знаний, которые вам надо получить, чтобы с лёгкостью пользоваться библиотеками keras+tensorflowне изобретать велосипед)... Понятное дело, я вам мануал сюда переписывать не буду, но направление, как сделать это быстро, я оставила.

Учтите, это айсберг: сверху (над водой) пару строк кода (изучите в конце концов линк и создайте(!) код по вашей задаче согласно библиотеке Keras - а то ваших попыток не видно), в общем, всё основное у айсберга под водой -- углубляйтесь в изучение Где, Когда, и Какие параметры использовать при моделировании Регрессии и Классификации. В сети много примеров, задавайте вопросы поисковику - получайте ответы, - не пренебрегайте написанием кода!!! никто за вас ваш код не напишет.

Добавлено через 25 минут
в итоге, ваша главная задача останется - дизайн/архитектура модели, т.е. какие слои и в какой последовательности соединить др с др.

-- кандидатский минимум по градиентному спуску с вас никто не требует знать, более того - забудьте вы его, - Keras сам средствами Tensorflow (бэкэнда) сделает и GD и обучение модели и т.д. - всё сделает за вас -- вы лишь Дизайнер НейроСети/Модели -- т.е. с вас н. количество слоёв и их последовательность, ну и настройки) -- Остальной код - Стандартный (по линку прошлого поста)
1
2 / 1 / 1
Регистрация: 03.03.2020
Сообщений: 15
21.08.2022, 05:27  [ТС]
Оказалось нужно делать обучению с подкреплением, снова вернулся к TL;DR,
взял исходник RL TF2 (МАМЛ), вместо гепарда у меня граф и узлы, как робота представить в виде узла(?), часть пайплайна это улучшенный графсейдж там где-то, мне надо сделать суперузлы, как я сам думаю суперузел это будет кластер из узлов (думаю о KNN..), каждый узел принадлежит одному ТФ2 Агенту, Один Агент ТФ2 - Один Суперузел в котором много других похожих на него узлов.
Агрегация (LSTM, Max, Min, Average) в GrapHSAGE происходит так: рут + все его узлы.
Суть алгоритма понял в принципе.

Получится ли сделать всё это на окружении gym?
0
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
22.08.2022, 09:41
Цитата Сообщение от VasAcc Посмотреть сообщение
как я сам думаю суперузел это будет кластер из узлов (думаю о KNN..),
если вы думаете о KNN - см. библотеку sklearn - она ещё более высокоуровневая, чем tensorflow и keras -- т.е. она уже включает построенную архитектуру алгоритмов -- вам не надо самому из слоёв выстраивать алгоритм KNN...
Я не вникала в ваше ТЗ (оно ваше), но вы, возможно, берёте не те примеры за основу -- берите кирпичики (а не всё здание целиком), стройте свой проект. Разберитесь с иерархией tensorflow -> keras -> sklearn. Е сли чего-то вам не хватает эксклюзивного в sklearn - спускайтесь на уровень ниже -- пишите manually на keras, если далее захотите какой-нибудь custom (user-defined) layer или custom loss-function, или custom score - идите на tensorflow по этому кусочку кода, который хотите создать manually в противовес арсенала, предоставляемого библиотекой

Добавлено через 5 минут
Цитата Сообщение от VasAcc Посмотреть сообщение
Получится ли сделать всё это на окружении gym?
не знаю, какие там библиотеки, - я говорила о Python, в R - есть многое, что разработано для Python
0
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
23.08.2022, 10:04
Цитата Сообщение от VasAcc Посмотреть сообщение
обучение с подкреплением ((см. раздел реализации))
это кстати для sklearn проблематично
Deep learning and reinforcement learning both require a rich vocabulary to define an architecture, with deep learning additionally requiring GPUs for efficient computing. However, neither of these fit within the design constraints of scikit-learn; as a result, deep learning and reinforcement learning are currently out of scope for what scikit-learn seeks to achieve...
...
If you want to implement more complex deep learning models, please turn to popular deep learning frameworks such as tensorflow, keras and pytorch.
но KNN можете найти в sklearn
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.08.2022, 10:04
Помогаю со студенческими работами здесь

Как сделать градиент в ячейках таблицы? Нужно чтоб в каждой был разный градиент
Есть таблица. В ней 4 ячейки. В каждой из них нужно установить градиент. В одной радиальный, в другой линейный, в третьей- повторный...

Изменение параметров функции перед вызовом
Дана функция rgb(), которая принимает десятичные составляющие цвета формата RGB, то есть в переменную r приходит значение красного в...

Найти цифру стоящую перед наименьшим или перед наибольшим числом
Мне учитель сказал решить задание:Найти максимальное Найти минимальное число 2...

Найти градиент.
У меня завтра экзамен по вышке, нужна ваша помощь по решению !

Требуется найти градиент
Дана функция z = z(x,y), точка А(xo, yo). Требуется найти 1) grad z в точке А; 2) производную в точке А по направлению вектора а:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru