Вырезание номеров из фото
SergeKZ opened this issue · 5 comments
Хочу дообучить номера подскажите какой скрипт отвечает за выдерание номеров из картинок?
На хабре нашел инструкцию но она устарела =(
Вот тут пример:
https://github.com/ria-com/nomeroff-net/blob/master/examples/ju/dataset_tools/auto_number_grab.ipynb
Там предполагается что есть некий csv-файл, в котором указаны имена файлов без расширения и что текст на номере, приблизительно так:
photoId,npText
250031471orig,NEBV043
Но если этой информации нет, можно универсальной моделью попытаться задетектить, тогда этот файл не указываем, вот пример формирования датасета для Молдовы:
auto_number_grab(root_dir, res_dir, image_loader="turbo",
replace_template={'moderation': {'isModerated': 1, 'moderatedBy': 'RIA.com'}, 'state_id': 2},
#csv_dataset_path=csv_dataset_path, # or None if you don`t have moderated data
prisets={
"eu": {
"for_regions": ["eu"],
"model_path": "latest"
},
},
default_label = "eu",
quality_profile=[5, 2, 0])
там грамматическая ошибка prisets (правильно presets), но пока что это не пофиксили, поэтому пишем "prisets"
Спасибо буду пробовать, наверно пример с csv подойдет ибо фото вида 777AAA01.jpg придется просто листинг кинуть в csv
Спасибо буду пробовать, наверно пример с csv подойдет ибо фото вида 777AAA01.jpg придется просто листинг кинуть в csv
Вот тут пример: https://github.com/ria-com/nomeroff-net/blob/master/examples/ju/dataset_tools/auto_number_grab.ipynb
Там предполагается что есть некий csv-файл, в котором указаны имена файлов без расширения и что текст на номере, приблизительно так:
photoId,npText 250031471orig,NEBV043
Но если этой информации нет, можно универсальной моделью попытаться задетектить, тогда этот файл не указываем, вот пример формирования датасета для Молдовы:
auto_number_grab(root_dir, res_dir, image_loader="turbo", replace_template={'moderation': {'isModerated': 1, 'moderatedBy': 'RIA.com'}, 'state_id': 2}, #csv_dataset_path=csv_dataset_path, # or None if you don`t have moderated data prisets={ "eu": { "for_regions": ["eu"], "model_path": "latest" }, }, default_label = "eu", quality_profile=[5, 2, 0])там грамматическая ошибка prisets (правильно presets), но пока что это не пофиксили, поэтому пишем "prisets"
всё четко вырезало подскажите куда дальше смотреть, а именно запускать для дообучения на CPU и модерирования процесса.
Еще столкнулся с такой ошибкой, думаю както надо указать юзать чисто СPU ?
` | Name | Type | Params
0 | resnet | Sequential | 2.8 M
1 | linear1 | Linear | 524 K
2 | gru1 | BlockRNN | 139 K
3 | gru2 | BlockRNN | 16.9 K
4 | linear2 | Linear | 1.3 K
3.5 M Trainable params
0 Non-trainable params
3.5 M Total params
13.862 Total estimated model params size (MB)
Epoch 0: 0%| | 0/2 [00:00<?, ?it/s]terminate called after throwing an instance of 'c10::HIPError'
what(): HIP error: hipErrorNoDevice
HIP kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing HIP_LAUNCH_BLOCKING=1.
Exception raised from deviceCount at /pytorch/aten/src/ATen/hip/impl/HIPGuardImplMasqueradingAsCUDA.h:102 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x42 (0x7f1db5346212 in /usr/local/lib/python3.7/site-packages/torch/lib/libc10.so)
frame #1: + 0x5618da (0x7f1dcb0a98da in /usr/local/lib/python3.7/site-packages/torch/lib/libtorch_hip.so)
frame #2: torch::autograd::Engine::start_device_threads() + 0x21a (0x7f1e016353aa in /usr/local/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #3: + 0x1134f (0x7f1e1d9be34f in /lib/x86_64-linux-gnu/libpthread.so.0)
frame #4: torch::autograd::Engine::initialize_device_threads_pool() + 0xcd (0x7f1e0163419d in /usr/local/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #5: torch::autograd::Engine::execute_with_graph_task(std::shared_ptrtorch::autograd::GraphTask const&, std::shared_ptrtorch::autograd::Node, torch::autograd::InputBuffer&&) + 0x28 (0x7f1e0163b058 in /usr/local/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #6: torch::autograd::python::PythonEngine::execute_with_graph_task(std::shared_ptrtorch::autograd::GraphTask const&, std::shared_ptrtorch::autograd::Node, torch::autograd::InputBuffer&&) + 0x3c (0x7f1e1904ca3c in /usr/local/lib/python3.7/site-packages/torch/lib/libtorch_python.so)
frame #7: torch::autograd::Engine::execute(std::vector<torch::autograd::Edge, std::allocatortorch::autograd::Edge > const&, std::vector<at::Tensor, std::allocatorat::Tensor > const&, bool, bool, bool, std::vector<torch::autograd::Edge, std::allocatortorch::autograd::Edge > const&) + 0x900 (0x7f1e01639280 in /usr/local/lib/python3.7/site-packages/torch/lib/libtorch_cpu.so)
frame #8: torch::autograd::python::PythonEngine::execute(std::vector<torch::autograd::Edge, std::allocatortorch::autograd::Edge > const&, std::vector<at::Tensor, std::allocatorat::Tensor > const&, bool, bool, bool, std::vector<torch::autograd::Edge, std::allocatortorch::autograd::Edge > const&) + 0x56 (0x7f1e1904c996 in /usr/local/lib/python3.7/site-packages/torch/lib/libtorch_python.so)
frame #9: THPEngine_run_backward(_object*, _object*, _object*) + 0x9d4 (0x7f1e1904d4a4 in /usr/local/lib/python3.7/site-packages/torch/lib/libtorch_python.so)
Aborted (core dumped)`