Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python &引用;名称错误:名称';np';“未定义”;当尝试运行一个名为PspNet的Keras细分模型时_Python_Python 3.x_Numpy_Keras_Image Segmentation - Fatal编程技术网

Python &引用;名称错误:名称';np';“未定义”;当尝试运行一个名为PspNet的Keras细分模型时

Python &引用;名称错误:名称';np';“未定义”;当尝试运行一个名为PspNet的Keras细分模型时,python,python-3.x,numpy,keras,image-segmentation,Python,Python 3.x,Numpy,Keras,Image Segmentation,事情如下:在安装所有包和依赖项之后。我已经运行了以下代码: import numpy as np from sys import exit from sys import argv,exit from keras import optimizers from keras import backend as K import keras_segmentation 一切都很好。但是,后来我跑了: model = keras_segmentation.models.pspnet.vgg_pspnet

事情如下:在安装所有包和依赖项之后。我已经运行了以下代码:

import numpy as np
from sys import exit
from sys import argv,exit
from keras import optimizers
from keras import backend as K
import keras_segmentation
一切都很好。但是,后来我跑了:

model = keras_segmentation.models.pspnet.vgg_pspnet(n_classes = 4)
得到了这个错误:

2019-11-13 19:01:15.403630: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
Traceback (most recent call last):
  File "semantic_sg.py", line 27, in <module>
    model = keras_segmentation.models.pspnet.vgg_pspnet(n_classes = 4)
  File "C:\Users\rodgu\AppData\Local\Continuum\anaconda3\envs\tensorflow_env\lib\site-packages\keras_segmentation\models\pspnet.py", line 91, in vgg_pspnet
    model =  _pspnet( n_classes , get_vgg_encoder ,  input_height=input_height, input_width=input_width  )
  File "C:\Users\rodgu\AppData\Local\Continuum\anaconda3\envs\tensorflow_env\lib\site-packages\keras_segmentation\models\pspnet.py", line 63, in _pspnet
    pooled = pool_block(  o , p  )
  File "C:\Users\rodgu\AppData\Local\Continuum\anaconda3\envs\tensorflow_env\lib\site-packages\keras_segmentation\models\pspnet.py", line 34, in pool_block
    pool_size = strides = [int(np.round( float(h) /  pool_factor)), int(np.round(  float(w )/  pool_factor))]
NameError: name 'np' is not defined
2019-11-13 19:01:15.403630:I tensorflow/core/platform/cpu\u feature\u guard.cc:142]您的cpu支持该tensorflow二进制文件未编译为使用的指令:AVX2
回溯(最近一次呼叫最后一次):
文件“semantic_sg.py”,第27行,在
model=keras_segmentation.models.pspnet.vgg_pspnet(n_classes=4)
文件“C:\Users\rodgu\AppData\Local\Continuum\anaconda3\envs\tensorflow\u env\lib\site packages\keras\u segmentation\models\pspnet.py”,第91行,在vgg\u pspnet中
模型=\u pspnet(n\u类,get\u vgg\u编码器,输入高度=输入高度,输入宽度=输入宽度)
文件“C:\Users\rodgu\AppData\Local\Continuum\anaconda3\envs\tensorflow\u env\lib\site packages\keras\u segmentation\models\pspnet.py”,第63行,在\u pspnet中
pooled=池块(o,p)
文件“C:\Users\rodgu\AppData\Local\Continuum\anaconda3\envs\tensorflow\u env\lib\site packages\keras\u segmentation\models\pspnet.py”,第34行,池块中
池大小=步幅=[int(np.round(float(h)/池系数)),int(np.round(float(w)/池系数))]
NameError:未定义名称“np”
这太疯狂了,因为我肯定安装了numpy。我运行了相同的代码,在其中打印了一个(np.version.version),得到:
1.17.3
(这也意味着numpy在任何地方都可以工作,除了Keras函数)。我重新安装了numpy,但还是什么都没有。我被困在这里好几天了

  • 我正在使用Python 3.7.5和Windows 10
  • 而且,这也没有帮助

非常感谢

多亏了Aditya Shankar,我成功了。为了使用keras分段包,您必须先降级python,然后再降级tensorflow(至少,据我所知)。(另外,请确保安装setup.py文件中列出的任何其他依赖项)


尝试更新keras_分段,或者尝试使用virtualenv,并使用较低版本的python(即3.6),看看是否有效
conda create -n lower_env pip python=3.6
conda activate lower_env
pip install --ignore-installed --upgrade tensorflow
conda install -c anaconda keras
pip install tensorflow==1.4
conda install -c conda-forge shapely
pip install imgaug>=0.2.9