caffe 使用LMDB数据库训练时 显存爆炸的问题

    xiaoxiao2021-03-25  126

    data_layer.cpp 中该层的析构函数定义的不够好,改成如下版本即可

    template <typename Dtype> DataLayer<Dtype>::~DataLayer<Dtype>() {   this->JoinPrefetchThread();   // clean up the database resources #if defined(USE_LEVELDB) || defined(USE_LMDB)   switch (this->layer_param_.data_param().backend()) { #ifdef USE_LEVELDB   case DataParameter_DB_LEVELDB:     break;  // do nothing #endif #ifdef USE_LMDB   case DataParameter_DB_LMDB:     mdb_cursor_close(mdb_cursor_);     mdb_close(mdb_env_, mdb_dbi_);     mdb_txn_abort(mdb_txn_);     mdb_env_close(mdb_env_);     break; #endif   default:     LOG(FATAL) << "Unknown database backend";   } #endif }

    转载请注明原文地址: https://ju.6miu.com/read-12154.html

    最新回复(0)