В любом 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
пишете вы, врываясь в новый проект?