Python AttributeError:“模块”对象没有“环境”属性
我正在尝试将jpeg文件转换为“lmdb”格式。但我有一个错误: >>>导入lmdb 回溯最近一次呼叫上次: 文件,第1行,在 文件lmdb.py,第25行,在 将图片写入lmdb'/home/anaca/ferjpg',fer2013' 文件lmdb.py,第13行,在write_images_to_lmdb中 env=lmdb.Environmentdb\u name,map\u size=map\u size AttributeError:“模块”对象没有“环境”属性 我尝试的事情:Python AttributeError:“模块”对象没有“环境”属性,python,caffe,lmdb,Python,Caffe,Lmdb,我正在尝试将jpeg文件转换为“lmdb”格式。但我有一个错误: >>>导入lmdb 回溯最近一次呼叫上次: 文件,第1行,在 文件lmdb.py,第25行,在 将图片写入lmdb'/home/anaca/ferjpg',fer2013' 文件lmdb.py,第13行,在write_images_to_lmdb中 env=lmdb.Environmentdb\u name,map\u size=map\u size AttributeError:“模块”对象没有“环境”属性 我尝试的事情: p
pip install lmdb
sudo apt-get install liblmdv-dev
代码如下:
import caffe
import lmdb
import os
import numpy as np
import matplotlib.pyplot as plt
from caffe.proto import caffe_pb2
from caffe.io import datum_to_array, array_to_datum
def write_images_to_lmdb(img_dir, db_name):
for root, dirs, files in os.walk(img_dir, topdown = False):
if root != img_dir:
continue
map_size = 64*64*3*2*len(files)
env = lmdb.Environment(db_name, map_size=map_size)
txn = env.begin(write=True,buffers=True)
for idx, name in enumerate(files):
X = mp.imread(os.path.join(root, name))
y = 1
datum = array_to_datum(X,y)
str_id = '{:08}'.format(idx)
txn.put(str_id.encode('ascii'), datum.SerializeToString())
txn.commit()
env.close()
print " ".join(["Writing to", db_name, "done!"])
write_images_to_lmdb('/home/anaca/ferjpg' , 'fer2013')
从您的回溯来看,您试图运行的脚本似乎名为lmdb.py。将其名称更改为其他名称
否则,当Python看到import lmdb时,它假定您指的是您的脚本,而不是您安装的lmdb模块。您使用的是哪个版本的Python?你在用虚拟电视吗?哪种版本的pip?