willard-yuan / flask-keras-cnn-image-retrieval

🚀CNN-based image retrieval built on Keras
517 stars 175 forks source link

一个调试时出现的问题 #2

Closed acalec closed 7 years ago

acalec commented 7 years ago

你好,我在ubuntu下尝试配置这个代码,但是碰到了一些问题

alec@alec-CP65S://home/alec/cnncode/flask-retrival$ python extract_CNN_VGG_Keras.py Using Theano backend. Traceback (most recent call last):

File "extract_CNN_VGG_Keras.py", line 102, in out = model.predict(im) File "/usr/local/lib/python2.7/dist-packages/keras/models.py", line 724, in predict return self.model.predict(x, batch_size=batch_size, verbose=verbose) File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1269, in predict` ... ... File "/usr/local/lib/python2.7/dist-packages/theano/gof/cmodule.py", line 302, in dlimport rval = import(module_name, {}, {}, [module_name])

ImportError: ('The following error happened while compiling the node', CorrMM{valid, (1, 1), (1, 1)}(IncSubtensor{InplaceSet;::, ::, int64:int64:, int64:int64:}.0, Subtensor{::, ::, ::int64, ::int64}.0), '\n', '/home/alec/.theano/compiledir_Linux-4.2--generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7.6-64/tmpQAGgtF/c4bfcd4af5f141b0dbcc5236ff225cfd.so: undefined symbol: openblas_get_num_threads', '[CorrMM{valid, (1, 1), (1, 1)}(<TensorType(float32, 4D)>, <TensorType(float32, 4D)>)]')

应该是out = model.predict(im)中传递的参数有问题?尝试了几种图像,感觉应该不是数据集的问题,但是不知道怎么调整了,想请教一下...

还有个疑问就是,这份代码关于图像检索的部分是不是就是extract_CNN_VGG_Keras.py和searchDemo.py两个文件,deep_dream.py是与此无关的是吗?

willard-yuan commented 7 years ago

@acalec 有可能是keras版本问题,毕竟keras迭代得比较快,我当时写的时候,忘记在readme里把keras的版本写上。这个问题你可以单步调试,另外到github上查查里面的问题。

图像检索部分只有extract_CNN_VGG_Keras.pysearchDemo.py两个文件,extract_CNN_VGG_Keras.py是特征提取部分,searchDemo.py是搜索部分。deep_dream.py是一个艺术风格化的demo。

另外,竟然尝试了keras,可以试试caffe,caffe的python接口也比较好用,在工业中caffe用得比较多。

acalec commented 7 years ago

谢谢!我去单步调试一下好了,可能是接受参数的格式不一致吧。 其实matlab版本的倒是能跑通。但是MatConvNet资料有点少,针对自己数据集训练时有点困难。所以转向keras试试,caffe的话可能相对来说会花更多的时间,现在时间有点紧张,还是希望能水篇论文求毕业先...

之前从你的博客里也学到了很多图像检索方向的东西,谢谢你!

willard-yuan commented 7 years ago

不客气~

willard-yuan commented 7 years ago

@acalec 已经讲keras更新到了最新的版本,同时大幅精简了特征提取的代码。