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

Какой есть способ сохранить высчитанное значение в Visual Studio

09.04.2018, 06:36. Показов 1389. Ответов 6

Студворк — интернет-сервис помощи студентам
Студия 17

Вообще впервые сталкиваюсь с такой потребностью, сложно сказать даже свои предположения решения проблемы
Хотя была мысль о создании класса в том же проекте, в котором в (глобальную?) переменную отправится результат чтения файла, но не знаю будет ли оно сохранятся при каждом новом запуске кода проекта


Python
1
2
3
4
5
import warnings
warnings.filterwarnings(action='ignore', category=UserWarning, module='gensim')
import gensim
 
model = gensim.models.KeyedVectors.load_word2vec_format("D:/Программирование/Python word2vec/araneum_upos_skipgram_600_2_2017.bin.gz", binary=True, encoding='utf-8')
5-ая строка (чтение файла) соответственно очень долго считывается (модель на 200 тыс слов). Примеры модели меньше есть, но на 150 тыс. Учитывая что чтение файла идет минут 10 а то и 20, особо легче не станет.

С Питоном знаком лишь на уровне алгоритмов и функций, импорты в руках не держал. В VS и подавно



Почти оффтоп
Кликните здесь для просмотра всего текста

И сразу наперед спрошу, возможно подскажете
Этот gensim хочу использовать в небольшой VSформе по поиску синонимов в тексте. Т.е. каждый первый раз при запуске, пользователь будет вынужден ждать пока произойдет чтение файла. Как это можно обойти?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2018, 06:36
Ответы с готовыми решениями:

Существует ли хоть какой-нибудь способ получить в коде версию Visual Studio?
Эксперты, вся надежда на вас. Существует ли хоть какая-нибудь возможность В КОДЕ получить версию visual studio, в которой этот код был...

Проект .adp: получить ОДНО значение с свервера - какие способы есть, какой способ лучше?
Дано: 1) проект .adp, подключенный к базе даных на сервере MS SQL Server. 2) текст запроса, выбирающий ровно одно значение (одно поле,...

В какой версии visual studio есть Архитектура для создания uml диаграммы?
нужно чтоб создать вот это

6
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.04.2018, 10:43
Смотря что за тип переменной model.

Логичнее всего сохранить в файл, а при повторном запуске - считывать данные из файла.
0
1 / 1 / 0
Регистрация: 19.07.2015
Сообщений: 18
09.04.2018, 11:02  [ТС]
Дело в том что это как раз и есть считывание из файла. Присваивание переменной результата чтения файла просто экономит RAM (по крайней мере так написано в 47 строке скрипта)


Кстати в хэде небольшая ошибочка. Слов разных 200тыс, а всего их 10млрд
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.04.2018, 19:58
Лучший ответ Сообщение было отмечено Bad Things как решение

Решение

Что именно возвращается в переменную model? Обученная модель? 20 минут я так понимаю не считывание файла происходит - это секундное дело, а именно обучение?
Тогда просто сериализуйте модель в pickle. И в дальнейшем уже будете загружать готовую обученную модель.
Если обучение - второй этап, то сериализуйте после обучения.

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

Цитата Сообщение от Bad Things Посмотреть сообщение
Этот gensim хочу использовать в небольшой VSформе по поиску синонимов в тексте. Т.е. каждый первый раз при запуске, пользователь будет вынужден ждать пока произойдет чтение файла. Как это можно обойти?
Вы явно путаете понятия\этапы "чтения данных" и "обучения на этих данных".
1
1 / 1 / 0
Регистрация: 19.07.2015
Сообщений: 18
09.04.2018, 20:05  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
Вы явно путаете понятия\этапы "чтения данных" и "обучения на этих данных".
Да, похоже это действительно так. Выходит что сделал неверные выводы из примера скрипта упомянутого выше

Цитата Сообщение от Garry Galler Посмотреть сообщение
Тогда просто сериализуйте модель в pickle. И в дальнейшем уже будете загружать готовую обученную модель.
Спасибо за разъяснение и за модуль. То что нужно
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.04.2018, 22:09
Глянул, что за модели - оказалось это именно уже обученная модель.
1) Поэтому именно ее пиклить смысла не имеет, так как она уже готова к использованию. Пиклить можно какие-нить промежуточные результаты работы с моделью (если они занимают время).
2) Загрузка файла araneum_upos_skipgram_600_2_2017.bin.gz (450 mb) на старом 4x ядерном проце и не слишком шустром SATA диске у меня заняла всего секунд 10, а в RAM 600 mb. Вполне терпимо.
Так что непонятно откуда у вас берутся 20 минут. Если, конечно, после загрузки вы не выполняете каких-то дополнительных действий.

P.S. encoding='utf-8' ? При бинарном режиме загрузки? Я использовал только binary=True.
0
1 / 1 / 0
Регистрация: 19.07.2015
Сообщений: 18
10.04.2018, 11:41  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
заняла всего секунд 10
Возможно дело в использовании VS? Попробовал уже на ПК с лучшим процессором, дольше 10 секунд но уже и не 10, минуты полторы заняло. ЦП в прошлом случае держало в 15-20%, сейчас 25-30%. Загруженность в обоих случаях малая

Да, дело действительно в VS. Чистый питон занял как раз секунд 10
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.04.2018, 11:41
Помогаю со студенческими работами здесь

Есть ли в Visual Studio какой-нибудь инструмент, который позволяет выявить строки кода, которые вызывают задержку времени?
Ну приведу какой-нибудь простенький пример. Например есть какое-нибудь дерево. Допустим есть метод, отвечающий за добавление новых узлов в...

Есть ли способ сохранить таблицу из DataTable в mysql
Здравствуйте. Вообщем мне нужно сделать быстрый перенос БД dbf в mysql. При переносе через запросы insertr 200000 записей (а есть табл...

Есть ли способ безопасно сохранить пароль в программе? То есть вшить в прогу пароль от локальной базы данных например.
Замутил класс, буду наполнять его полезными методами. Возможно создам ещё один другой класс, не расширение. public static class...

Есть какой способ поиска записей в базе?
Подскажите плиз, есть какой способ поиска записей в базе (что нибудь типа 'seek') Заранее благодарен

Есть какой-то способ парсить музыку с сайтов?
Всем привет! Кто-нибудь знает, есть какой-нибудь способ чтобы парсить (скачивать) музыку с сайта? На языке C#, Visual Studio. Есть парсер...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
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/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru