В любом ML проекте,...

Posted on Wed 07 September 2022 • Tagged with from_telegram, in_russian

В любом ML проекте, в котором я оказываюсь, довольно быстро заводятся минимум две функции: get_relative_path и ensure_local.

Первая совсем простая и используется для того, чтобы тесты и скрипты не зависели от того, откуда их вызывают:

```fixture = get_relative_path("../fixtures/file.csv", name)

```Вторая оборачивает все доступные хранилища данных (обычно начинается с s3, но потом могут добавиться другие облака, SSH-машины и черт знает что еще) и используется так:

with ensure_local("s3://secret-bucket/kurwa_dzik.jpg") as fd: img = cv2.imread(fd)
С течением времени из ensure_local обычно вырастает отдельный модуль io; все это пишется абсолютно бессознательно. А поскольку осознанность - это важно, расскажите в комментариях, какой либой можно удержать ~~меня~~ copilot от написания этого в очередной раз и какие utils пишете вы, врываясь в новый проект?

source