Форум программистов, компьютерный форум, киберфорум
Python: ИИ, нейросети, ML, агенты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569

Tensorflow: Как корректно выполнить изменение значения переменной-тензора

04.08.2020, 22:41. Показов 1344. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Переменная embeddings, которая инициализирована массивом nxm случайных чисел не меняет свою размерность.


Python
1
embeddings = tf.Variable(tf.random_uniform([vocabulary_size, embedding_size], -1.0, 1.0),validate_shape=False)
Далее, мне нужно изменить её значение присвоив ей новый массив размером (n+1)xm. Массив этот находится в некоем словаре the_arrays по ключу "embeddings":

Python
1
embeddings.assign(the_arrays["embeddings"])
При этом она как была размерностью nxm , так и осталась.


И да, как нужно управлять динамически размерностью переменной, если это массив?



validate_shape=False у меня стоит.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.08.2020, 22:41
Ответы с готовыми решениями:

Отследить изменение значения переменной и выполнить действие
Всем доброго времени суток. Минуту назад хотел уже написать было сюда просьбу о помощи. Но поразмыслив лишнюю минуту из более часа, который...

Отладчик VS 2010 - Как отследить программное изменение значения переменной
Подскажите как в отладчике Visual Studio отследить в каких местах кода меняется нужное значение переменной (свойства объекта), например...

Изменение значения переменной, название которой находится в текстовой переменной
Подскажите как мне сделать: у меня есть цикл _0_gray = 1 for i in range(9): peremen = "_" + str(i) + "_gray"\ ...

4
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
05.08.2020, 21:21  [ТС]
Ой, слушайте, какая же бадяга, эти пакеты tensorflow , так и keras.


Для склеивания массивов в тензорах существует штатная функция concat, которая в качестве первого параметра принимает список массивов для склеивания. Второй параметр --- это уровень по которому массивы будут склеины

Python
1
embedings = tf.concat([embeddings.eval(), the _arrays["embeddings"]], 0)
Во, тогда переменная меняется и размерность её становится уже такой какая и нужна.

Далее, этот тензор embedings используется при вычислении некоторого множества векторов v https://www.cyberforum.ru/cgi-bin/latex.cgi?\subseteq embedings по их индексам, которые подаются в тензор train_dataset.

Python
1
embed = tf.nn.embedding_lookup(embeddings, train_dataset)
И train_dataset и embeddings имеют по первому уровню. То есть n+1

Но при его вычислении, происходит ошибка InvalidArgumentError: indices[n+1] = 3765 is not in [0, n+1)

Словно что-то не той размерности. Хотя после ошибки размерность была проверена у каждого.

Что здесь не чисто?

Добавлено через 13 минут
Как вообще быть, если в процессе обучения нужно менять размерность некоторых параметров , поскольку размер входных данных растет?
0
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
06.08.2020, 15:46  [ТС]
Пока что ничего не приходит на ум, как задать в переменной embeddings размер массива изначально больше, чем это нужно на первое время.

Видимо, играет роль то, как эта переменная была инициализирована, а именно массивом каких размеров.

Просто это как-то странно для задач оптимизации, если нам на первое время не нужны такие размеры, поскольку выборка, на которой учится нейронная сеть имеет начальные размеры n, но которые в будущем вырастут, при подаче новых данных. И вот с новыми данными и предполагалось подгонять параметры нейронной сети, а именно размеры переменных. Но жаль, что это не учитывает этот пакет, а приходится выбирать размер параметров нейронной сети что называется почти с потолка.
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
06.08.2020, 15:49
Alex_py, чтоб так не возиться, не проще ли самому написать?
1
5 / 5 / 0
Регистрация: 25.09.2017
Сообщений: 569
06.08.2020, 17:21  [ТС]
Цитата Сообщение от DmFat Посмотреть сообщение
Alex_py, чтоб так не возиться, не проще ли самому написать?
С нуля писать нейронные сети никогда не проще. Чтобы написать, нужно прочитать теорию, освежить в памяти алгоритмы --- градиентный спуск, word2vec. Я без особого представления как именно изменяются вектора на множестве данных.

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

Но придётся их использовать. Технологии устоявшиеся как никак.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.08.2020, 17:21
Помогаю со студенческими работами здесь

Как ловить изменение значения переменной и вызывать функцию через connect?
Есть переменная QString page = "index"; Как ловить изменение переменной и при изменении её вызывать функцию свою. connect(page,...

Выполнить действие в зависимости от значения переменной
Товарищи, помогите найти ошибку. Код: #include <iostream> #include<windows.h> using namespace std; void one(); void...

Изменение значения переменной
Здравствуйте ,на странице идет вот к примеру такой код: <script type="text/javascript"> primer= "text-123456789"; ...

Изменение значения переменной
Всем привет. Помогите пожалуйста решить задачу. Есть Следующий код $result = gallery1 (); $dir = "images/$result/"; //...

Изменение значения переменной
приветствую! имеется следующий код, описанный для фрагмента ролика, находящегося на 2-м слое, первого кадра: onClipEvent(mouseDown)...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru