weijiawu / DiffuMask

[ICCV2023] DiffuMask: Synthesizing Images with Pixel-level Annotations for Semantic Segmentation Using Diffusion Models
154 stars 11 forks source link

Can't Install OpenAI Clip , Somethings happen with pydensecrf #4

Open vdkhoi20 opened 1 year ago

vdkhoi20 commented 1 year ago

When I install git+https://github.com/lucasb-eyer/pydensecrf.git, I have trouble with cython , so I found that I must downgrade to cython==0.29.36 and then install pydensecrf that okay but when i install OpenAI Clip I get likely the same error.

/tmp/pip-build-env-k7kqvt3l/overlay/lib/python3.8/site-packages/Cython/Compiler/Main.py:384: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-ktjymnfq/pydensecrf_a587772943f6421480fe6eb089f3a216/pydensecrf/densecrf.pxd tree = Parsing.p_module(s, pxd, full_module_name)

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
  from eigen cimport *
  ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:1:0: 'eigen.pxd' not found

  Error compiling Cython file:
  ------------------------------------------------------------
  ...

      cdef cppclass PottsCompatibility(LabelCompatibility):
          PottsCompatibility(float) except +

      cdef cppclass DiagonalCompatibility(LabelCompatibility):
          DiagonalCompatibility(const c_VectorXf&) except +
                                      ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:12:36: 'c_VectorXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...

      cdef cppclass DiagonalCompatibility(LabelCompatibility):
          DiagonalCompatibility(const c_VectorXf&) except +

      cdef cppclass MatrixCompatibility(LabelCompatibility):
          MatrixCompatibility(const c_MatrixXf&) except +
                                    ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:15:34: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
  cdef extern from "densecrf/include/unary.h":
      cdef cppclass UnaryEnergy:
          pass

      cdef cppclass ConstUnaryEnergy(UnaryEnergy):
          ConstUnaryEnergy(const c_MatrixXf& unary) except +
                                 ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:23:31: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...

      cdef cppclass ConstUnaryEnergy(UnaryEnergy):
          ConstUnaryEnergy(const c_MatrixXf& unary) except +

      cdef cppclass LogisticUnaryEnergy(UnaryEnergy):
          LogisticUnaryEnergy(const c_MatrixXf& L, const c_MatrixXf& feature) except +
                                    ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:26:34: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...

      cdef cppclass ConstUnaryEnergy(UnaryEnergy):
          ConstUnaryEnergy(const c_MatrixXf& unary) except +

      cdef cppclass LogisticUnaryEnergy(UnaryEnergy):
          LogisticUnaryEnergy(const c_MatrixXf& L, const c_MatrixXf& feature) except +
                                                         ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:26:55: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          c_DenseCRF(int N, int M) except +

          # Setup methods.
          # TODO
          #void addPairwiseEnergy(PairwisePotential *potential)
          void addPairwiseEnergy(const c_MatrixXf &features, LabelCompatibility*, KernelType, NormalizationType)
                                       ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:54:37: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          # Setup methods.
          # TODO
          #void addPairwiseEnergy(PairwisePotential *potential)
          void addPairwiseEnergy(const c_MatrixXf &features, LabelCompatibility*, KernelType, NormalizationType)
          void setUnaryEnergy(UnaryEnergy *unary)
          void setUnaryEnergy(const c_MatrixXf &unary)
                                    ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:56:34: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          # TODO
          #void addPairwiseEnergy(PairwisePotential *potential)
          void addPairwiseEnergy(const c_MatrixXf &features, LabelCompatibility*, KernelType, NormalizationType)
          void setUnaryEnergy(UnaryEnergy *unary)
          void setUnaryEnergy(const c_MatrixXf &unary)
          void setUnaryEnergy(const c_MatrixXf &L, const c_MatrixXf &feature)
                                    ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:57:34: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          # TODO
          #void addPairwiseEnergy(PairwisePotential *potential)
          void addPairwiseEnergy(const c_MatrixXf &features, LabelCompatibility*, KernelType, NormalizationType)
          void setUnaryEnergy(UnaryEnergy *unary)
          void setUnaryEnergy(const c_MatrixXf &unary)
          void setUnaryEnergy(const c_MatrixXf &L, const c_MatrixXf &feature)
                                                         ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:57:55: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          void setUnaryEnergy(UnaryEnergy *unary)
          void setUnaryEnergy(const c_MatrixXf &unary)
          void setUnaryEnergy(const c_MatrixXf &L, const c_MatrixXf &feature)

          # Inference methods.
          c_MatrixXf inference(int n_iterations)
          ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:60:8: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          c_MatrixXf inference(int n_iterations)
          # TODO: Not enabled because it would require wrapping VectorXs (note the `s`)
          #c_VectorXs map(int n_iterations)

          # Step-by-step inference methods.
          c_MatrixXf startInference() const
          ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:65:8: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          # TODO: Not enabled because it would require wrapping VectorXs (note the `s`)
          #c_VectorXs map(int n_iterations)

          # Step-by-step inference methods.
          c_MatrixXf startInference() const
          void stepInference(c_MatrixXf &Q, c_MatrixXf &tmp1, c_MatrixXf &tmp2) const
                             ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:66:27: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          # TODO: Not enabled because it would require wrapping VectorXs (note the `s`)
          #c_VectorXs map(int n_iterations)

          # Step-by-step inference methods.
          c_MatrixXf startInference() const
          void stepInference(c_MatrixXf &Q, c_MatrixXf &tmp1, c_MatrixXf &tmp2) const
                                            ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:66:42: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          # TODO: Not enabled because it would require wrapping VectorXs (note the `s`)
          #c_VectorXs map(int n_iterations)

          # Step-by-step inference methods.
          c_MatrixXf startInference() const
          void stepInference(c_MatrixXf &Q, c_MatrixXf &tmp1, c_MatrixXf &tmp2) const
                                                              ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:66:60: 'c_MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          # Step-by-step inference methods.
          c_MatrixXf startInference() const
          void stepInference(c_MatrixXf &Q, c_MatrixXf &tmp1, c_MatrixXf &tmp2) const
          #double gradient( int n_iterations, const ObjectiveFunction & objective, c_VectorXf * unary_grad, c_VectorXf * lbl_cmp_grad, c_VectorXf * kernel_grad=NULL ) const;

          double klDivergence(const c_MatrixXf &Q) const
                                    ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pxd:69:34: 'c_MatrixXf' is not a type identifier
  warning: pydensecrf/densecrf.pyx:20:4: Unreachable code

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          return eigen.MatrixXf().wrap(self._this.inference(niter))

      def startInference(self):
          return eigen.MatrixXf().wrap(self._this.startInference()), eigen.MatrixXf(), eigen.MatrixXf()

      def stepInference(self, MatrixXf Q, MatrixXf tmp1, MatrixXf tmp2):
                              ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pyx:97:28: 'MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          return eigen.MatrixXf().wrap(self._this.inference(niter))

      def startInference(self):
          return eigen.MatrixXf().wrap(self._this.startInference()), eigen.MatrixXf(), eigen.MatrixXf()

      def stepInference(self, MatrixXf Q, MatrixXf tmp1, MatrixXf tmp2):
                                          ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pyx:97:40: 'MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          return eigen.MatrixXf().wrap(self._this.inference(niter))

      def startInference(self):
          return eigen.MatrixXf().wrap(self._this.startInference()), eigen.MatrixXf(), eigen.MatrixXf()

      def stepInference(self, MatrixXf Q, MatrixXf tmp1, MatrixXf tmp2):
                                                         ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pyx:97:55: 'MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          return eigen.MatrixXf().wrap(self._this.startInference()), eigen.MatrixXf(), eigen.MatrixXf()

      def stepInference(self, MatrixXf Q, MatrixXf tmp1, MatrixXf tmp2):
          self._this.stepInference(Q.m, tmp1.m, tmp2.m)

      def klDivergence(self, MatrixXf Q):
                             ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pyx:100:27: 'MatrixXf' is not a type identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
              raise ValueError("Bad shape for pairwise energy (Need (?, {}), got {})".format(self._nvar, (features.shape[0], features.shape[1])))

          self._this.addPairwiseEnergy(eigen.c_matrixXf(features), _labelcomp(compat), kernel, normalization)

      def setUnary(self, Unary u):
          self._this.setUnaryEnergy(u.move())
                                   ^
  ------------------------------------------------------------

  pydensecrf/densecrf.pyx:78:33: ambiguous overloaded method
  Compiling pydensecrf/eigen.pyx because it changed.
  Compiling pydensecrf/densecrf.pyx because it changed.
  [1/2] Cythonizing pydensecrf/densecrf.pyx
  Traceback (most recent call last):
    File "/home/vdkhoi/.conda/envs/DiffuMask/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/home/vdkhoi/.conda/envs/DiffuMask/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/vdkhoi/.conda/envs/DiffuMask/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/tmp/pip-build-env-k7kqvt3l/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 355, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=['wheel'])
    File "/tmp/pip-build-env-k7kqvt3l/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 325, in _get_build_requires
      self.run_setup()
    File "/tmp/pip-build-env-k7kqvt3l/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 507, in run_setup
      super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script)
    File "/tmp/pip-build-env-k7kqvt3l/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 341, in run_setup
      exec(code, locals())
    File "<string>", line 13, in <module>
    File "/tmp/pip-build-env-k7kqvt3l/overlay/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
      cythonize_one(*args)
    File "/tmp/pip-build-env-k7kqvt3l/overlay/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: pydensecrf/densecrf.pyx
  [end of output]
dedoogong commented 11 months ago

me too~!

yunniw2001 commented 4 months ago

me too

yunniw2001 commented 4 months ago

remove requirements.txt line 114: pydensecrf @ git+https://github.com/lucasb-eyer/pydensecrf.git.... can work. as we install pydensecrf before