Я экспериментировал с алгоритмом ближайшего соседа для изображений со стилем, представленным в этом посте (то есть цель состоит в том, чтобы увидеть, сколько почти похожих изображений существует). После того, как пример был адаптирован к моему случаю, я пару раз видел ошибку "lmdb.BadRslotError: mdb_txn_begin: MDB_BAD_RSLOT: недопустимое повторное использование слота с блокировкой чтения" , и мне интересно, в чем причина?
Моя гипотеза состоит в том, что это было вызвано открытием (одного и того же) lmdb дважды за один и тот же прогон (по крайней мере, он не появился после исправления), но не полностью уверен. Один из немногих поисковых запросов дан на другом форуме , но ответ не определен.
Итак, ошибка возникла из оператора .begin:
fn_lmdb = fn + '.lmdb' # stores word <-> id mapping
env = lmdb.open(fn_lmdb, map_size=int(1e9))
with env.begin() as txn:
...
В тот момент, когда я перешел в открытое положение рядом с началом, ошибка еще не появилась, но я не уверен, установил ли я причину или просто симптом ... Вы наткнулись на это, и каково было решение?