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

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

04.08.2022, 08:29. Показов 1458. Ответов 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
263 / 152 / 33
Регистрация: 29.06.2019
Сообщений: 1,538
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
263 / 152 / 33
Регистрация: 29.06.2019
Сообщений: 1,538
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
263 / 152 / 33
Регистрация: 29.06.2019
Сообщений: 1,538
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
263 / 152 / 33
Регистрация: 29.06.2019
Сообщений: 1,538
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
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru