Reply_Other, да, это мысль.
Я бы ещё сделал немножко иначе. Можно дописать в начало выполняемого скрипта установку хука через sys.addaudithook, чтобы ловить импорт модулей, и ронять интерпретатор через os._exit() (с заранее выбранным кодом возврата) если видим что-то не в белом списке. Только это надо сделать так, чтобы коду скрипта было как можно труднее влезть в этот белый список, да и в код хука как такового.
Тамаз Харламов, всего бота сделать асинхронным. Асинхронность - это не то, что можно "прикрутить к одной функции", этот подход определяет работу программы в целом. Ты не озаботился даже сказать, на каком фреймворке написан бот, так что конкретнее подсказать я не могу.
bakeryolo, окей, переформулирую вопрос...
"именно то что и не могу найти" - это что именно?
Хорошая формулировка вопроса - половина ответа. Я пока не могу понять, что именно ты пытался сделать этой строкой.
Dato38it, вот. Т.е. ты делаешь join, а условие - ближайший сосед.
Тут я повторю рекомендацию из ответов. Используй специализированные либы для работы с геоданными.
Причина очень простая: один градус долготы имеет разную длину в километрах в зависимости от широты. Так что наивное евклидово расстояние тут не стоит использовать.
Dato38it, ты не ответил на мой вопрос.
Вот почему строка IR021 из первой таблицы сопоставлена именно строке IR055 из второй?
Просто потому что это первая строка и там и там?
Для начала сформулируй, что значит "добавляет данные из второй таблицы"?
Просто подклеивает вторую таблицу в конец первой?
Или делает join, т.е. сопоставление для каждой строки первой таблицы какой-то строки из второй таблицы?
Во втором случае тебе нужно чётко сформулировать принцип подбора ("учитывая формулу" - нихрена не понятно).
А заодно ответить на вопрос, что делать со строками каждой из таблиц, для которых не нашлось пары.
Dark Hacker, вообще это означает "все параметры после звёздочки должны передаваться только по имени". Иными словами, если у нас есть функция def func(a, *, b=42): ..., то будут корректными следующие вызовы:
func(1)
func(a=1)
func(1, b=2)
func(a=1, b=2)
А вот вызов func(1, 2) корректным не будет, так как тут b передаётся позиционно, а не по имени.
Я звёздочку ставлю в лямбдах, чтобы уменьшить вероятность того, что лямбда будет вызвана с большим числом параметров. Ведь в этом случае вместо вспомогательного параметра index придёт чёрт знает что, и понять, что случилось, будет непросто. А так будет сообщение об ошибке, что index попытались задать позиционно, по которому можно догадаться, что случилось. Вероятность того, что лямбду по ошибке вызовут с "правильным" именным параметром всё же куда меньше.
Almaz_khan, находишь в сети книгу Марк Лутц, "Изучаем Питон". Там всё очень подробно расписывается. В частности, глава третья посвящена способам запуска кода.
Rubios_Romanov, целиком зависит от модели, т.е. от структуры твоей нейронки. tensorflow - всего лишь инструмент её реализации. Заодно надо уточнить задачу: тебе важно "является ли картинка изображением зонта"? Или "есть ли на картинке зонт"? Или "сколько зонтов на картинке и где они"? Потому что это довольно разные задачи.
Rubios_Romanov, меняется - точнее. Меняются значения коэффициентов модели.
Если совсем на пальцах, представь, что у нас на плоскости есть два облака точек, соответствующих классам. Каждая точка описывается своими координатами (x, y). Тогда нейронка пытается провести между ними кривую, которая эти два облака разделила бы. А коэффициенты нейронки - это коэффициенты уравнения этой кривой. Но в задачах на изображения у нас входных значений не два (x, y), а куда больше.
Rubios_Romanov, да, так как число классов изменит как минимум число нейронов в выходном слое (а может потребоваться изменение и более глубоких слоёв).
Вообще возникает вопрос: ты же не думаешь, что модель хранит в себе изображения, которые она "видела"?
sergoro99, я имею ввиду, если у тебя есть способ обхода блокировок на компе, попробуй пропустить pip через него. Ну и да, подразумевается, что ты используешь pip из командной строки. Не знаю, есть ли эквивалентная опция в pycharm.
1. Оформляем код кнопкой </>, этого требуют правила сайта.
2. Приводим полный traceback ошибки, оформляем его также.
Чем читаемее вопрос, тем больше шансов получить ответ.
Я бы ещё сделал немножко иначе. Можно дописать в начало выполняемого скрипта установку хука через sys.addaudithook, чтобы ловить импорт модулей, и ронять интерпретатор через os._exit() (с заранее выбранным кодом возврата) если видим что-то не в белом списке. Только это надо сделать так, чтобы коду скрипта было как можно труднее влезть в этот белый список, да и в код хука как такового.