Metaclass conflict
Opened this issue · 1 comments
Hi! I wanted to try running the intro_to_chemvae.ipynb example, I installed the environment via Anaconda, however I encountered the following issue when importing VAEUtils from chemvae.vae_utilis:
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
I have the same problem when running the autoencoder on the ZINC dataset as described in the example (python -m chemvae.train_vae)
Any suggestions on how to fix this? Thanks!
Simone
TypeError Traceback (most recent call last)
in
3 environ['KERAS_BACKEND'] = 'tensorflow'
4 # vae stuff
----> 5 from chemvae.vae_utils import VAEUtils
6 from chemvae import mol_utils as mu
7 # import scientific py
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/importlib/_bootstrap.py in find_and_load(name, import)
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/importlib/_bootstrap.py in find_and_load_unlocked(name, import)
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/importlib/_bootstrap.py in _load_unlocked(spec)
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/importlib/_bootstrap.py in _load_backward_compatible(spec)
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/chemvae-1.0.0-py3.6.egg/chemvae/vae_utils.py in
3 import random
4 import yaml
----> 5 from .models import load_encoder, load_decoder, load_property_predictor
6 import numpy as np
7 import pandas as pd
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/importlib/_bootstrap.py in find_and_load(name, import)
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/importlib/_bootstrap.py in find_and_load_unlocked(name, import)
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/importlib/_bootstrap.py in _load_unlocked(spec)
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/importlib/_bootstrap.py in _load_backward_compatible(spec)
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/chemvae-1.0.0-py3.6.egg/chemvae/models.py in
----> 1 from keras.layers import Input, Lambda
2 from keras.layers.core import Dense, Flatten, RepeatVector, Dropout
3 from keras.layers.convolutional import Convolution1D
4 from keras.layers.recurrent import GRU
5 from keras.layers.normalization import BatchNormalization
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/keras/init.py in
1 from future import absolute_import
2
----> 3 from . import utils
4 from . import activations
5 from . import applications
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/keras/utils/init.py in
4 from . import data_utils
5 from . import io_utils
----> 6 from . import conv_utils
7
8 # Globally-importable utils.
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/keras/utils/conv_utils.py in
1 from six.moves import range
2 import numpy as np
----> 3 from .. import backend as K
4
5
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/keras/backend/init.py in
81 elif _BACKEND == 'tensorflow':
82 sys.stderr.write('Using TensorFlow backend.\n')
---> 83 from .tensorflow_backend import *
84 else:
85 raise ValueError('Unknown backend: ' + str(_BACKEND))
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py in
----> 1 import tensorflow as tf
2 from tensorflow.python.training import moving_averages
3 from tensorflow.python.ops import tensor_array_ops
4 from tensorflow.python.ops import control_flow_ops
5 from tensorflow.python.ops import functional_ops
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/tensorflow/init.py in
20
21 # pylint: disable=g-bad-import-order
---> 22 from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
23
24 try:
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/tensorflow/python/init.py in
61
62 # Framework
---> 63 from tensorflow.python.framework.framework_lib import * # pylint: disable=redefined-builtin
64 from tensorflow.python.framework.versions import *
65 from tensorflow.python.framework import errors
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/tensorflow/python/framework/framework_lib.py in
23 # Classes used when building a Graph.
24 from tensorflow.python.framework.device import DeviceSpec
---> 25 from tensorflow.python.framework.ops import Graph
26 from tensorflow.python.framework.ops import Operation
27 from tensorflow.python.framework.ops import Tensor
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/tensorflow/python/framework/ops.py in
53 from tensorflow.python.framework import versions
54 from tensorflow.python.ops import control_flow_util
---> 55 from tensorflow.python.platform import app
56 from tensorflow.python.platform import tf_logging as logging
57 from tensorflow.python.util import compat
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/tensorflow/python/platform/app.py in
22 import sys as _sys
23
---> 24 from tensorflow.python.platform import flags
25 from tensorflow.python.util.tf_export import tf_export
26
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/tensorflow/python/platform/flags.py in
23
24 # go/tf-wildcard-import
---> 25 from absl.flags import * # pylint: disable=wildcard-import
26 import six as _six
27
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/absl/flags/init.py in
33 import warnings
34
---> 35 from absl.flags import _argument_parser
36 from absl.flags import _defines
37 from absl.flags import _exceptions
~/software/pkg/miniconda3/envs/chemvae/lib/python3.6/site-packages/absl/flags/_argument_parser.py in
80
81
---> 82 class ArgumentParser(Generic[_T], metaclass=_ArgumentParserCache):
83 """Base class used to parse and convert arguments.
84
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Hi Simone, the AI software stack moves really fast so I imagine some library is deprecated, you can probably find more up-to date reference implementations on github. Either for the layers, or the whole architecture.