На сайте CodeBERTS github представлен пример использования пары NL-PL с предварительно обученной базовой моделью для создания внедрения. Я хочу создать встраивание, используя только исходный код, к которому не привязан естественный язык. Это будет сделано для того, чтобы я мог попытаться использовать косинусное сходство, чтобы найти сходство встраивания одного исходного кода в другое. Было бы менее желательно просто удалить токены естественного языка, а не использовать другой метод?
В этом исходном коде я воссоздал предложенный метод внедрения, но без каких-либо токенов естественного языка. Мои окончательные результаты по сходству не были исключительными, поэтому я не могу подтвердить, был ли этот метод лучшим или нет.
Я также заметил проект https://github.com/neulab/code-bert-score, который пытается добиться чего-то подобного, поскольку они делают nl необязательным вводом. Однако мне не удалось узнать точный метод выполнения этой задачи из их утилит.
На сайте CodeBERTS github представлен пример использования пары NL-PL с предварительно обученной базовой моделью для создания внедрения. Я хочу создать встраивание, используя только исходный код, к которому не привязан естественный язык. Это будет сделано для того, чтобы я мог попытаться использовать косинусное сходство, чтобы найти сходство встраивания одного исходного кода в другое. Было бы менее желательно просто удалить токены естественного языка, а не использовать другой метод? В этом исходном коде я воссоздал предложенный метод внедрения, но без каких-либо токенов естественного языка. Мои окончательные результаты по сходству не были исключительными, поэтому я не могу подтвердить, был ли этот метод лучшим или нет. [code]>>> from transformers import AutoTokenizer, AutoModel >>> import torch >>> tokenizer = AutoTokenizer.from_pretrained("microsoft/codebert-base") >>> model = AutoModel.from_pretrained("microsoft/codebert-base") >>> code_tokens=tokenizer.tokenize("def max(a,b): if a>b: return a else return b") ['def', 'Ġmax', '(', 'a', ',', 'b', '):', 'Ġif', 'Ġa', '>', 'b', ':', 'Ġreturn', 'Ġa', 'Ġelse', 'Ġreturn', 'Ġb'] >>> tokens=[tokenizer.cls_token]+[tokenizer.sep_token]+code_tokens+[tokenizer.eos_token] ['', '', 'def', 'Ġmax', '(', 'a', ',', 'b', '):', 'Ġif', 'Ġa', '>', 'b', ':', 'Ġreturn', 'Ġa', 'Ġelse', 'Ġreturn', 'Ġb', ''] >>> tokens_ids=tokenizer.convert_tokens_to_ids(tokens) [0, 2, 9232, 19220, 1640, 102, 6, 428, 3256, 114, 10, 15698, 428, 35, 671, 10, 1493, 671, 741, 2] >>> context_embeddings=model(torch.tensor(tokens_ids)[None,:])[0] torch.Size([1, 20, 768]) tensor([[-0.1423, 0.3766, 0.0443, ..., -0.2513, -0.3099, 0.3183], ..., [-0.1433, 0.3785, 0.0450, ..., -0.2527, -0.3121, 0.3207]], grad_fn=) [/code] Я также заметил проект https://github.com/neulab/code-bert-score, который пытается добиться чего-то подобного, поскольку они делают nl необязательным вводом. Однако мне не удалось узнать точный метод выполнения этой задачи из их утилит.
На сайте CodeBERTS github представлен пример использования пары NL-PL с предварительно обученной базовой моделью для создания внедрения. Я хочу создать встраивание, используя только исходный код, к которому не привязан естественный язык. Это будет...
Это мой текущий код, который работает некоторое время, а затем выдает ошибку «невозможно запустить новый поток». Пробовал как многопоточность, так и многопроцессорность, и оба в конечном итоге вызывают эту ошибку.
defprocess_file(file_path):...
Итак, я уже изучаю компьютерную лингвистику в школе, а также Python. Каждая теоретическая концепция сама по себе кажется простой, хотя я не могу ничего применить к Python. Итак, что вы предлагаете мне сделать, как новичку? Есть ли открытые ресурсы...
Я разрабатываю приложение на Kotlin, в нем есть часть, где у меня есть обзоры, например функция, где я публикую обзор чего-то, и он сохраняется в Firestore, я также использовал Firebase для аутентификации, теперь я попробовал много, которые...
Я разрабатываю приложение на Kotlin, в нем есть часть, где у меня есть обзоры, например функция, где я публикую обзор чего-то, и он сохраняется в Firestore, я также использовал Firebase для аутентификации, теперь я попробовал много, которые...