I copied and pasted the data.load code from the N2H2 page (N2H2 Molecule) and got an error message when executing it (code below). Am I missing something?
import pennylane as qml
from pennylane import numpy as np
qml.data.load("qchem", molname="N2H2", bondlength=1.247, basis="STO-3G")
The error message is below.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [18], in <cell line: 1>()
----> 1 qml.data.load("qchem", molname="N2H2", bondlength=1.247, basis="STO-3G")
File /usr/local/lib/python3.8/site-packages/pennylane/data/data_manager.py:272, in load(data_name, attributes, lazy, folder_path, force, num_threads, **params)
269 for folder in all_folders:
270 real_folder = os.path.join(directory_path, data_name, folder)
271 data_files.append(
--> 272 Dataset(data_name, real_folder, folder.replace(pathsep, "_"), docstring, standard=True)
273 )
275 return data_files
File /usr/local/lib/python3.8/site-packages/pennylane/data/dataset.py:148, in Dataset.__init__(self, standard, *args, **kwargs)
146 raise ValueError(f"Expected {name} to be a str, got {type(val).__name__}")
147 self._is_standard = True
--> 148 self.__std_init__(*args)
149 else:
150 self._is_standard = False
File /usr/local/lib/python3.8/site-packages/pennylane/data/dataset.py:122, in Dataset.__std_init__(self, data_name, folder, attr_prefix, docstring)
120 self._fullfile = prefix.format("full")
121 if os.path.exists(self._fullfile):
--> 122 self.read(self._fullfile, lazy=True)
123 else:
124 self._fullfile = None
File /usr/local/lib/python3.8/site-packages/pennylane/data/dataset.py:206, in Dataset.read(self, filepath, lazy, assign_to)
183 def read(self, filepath, lazy=False, assign_to=None):
184 """Loads data from a saved file to the current dataset.
185
186 Args:
(...)
204 tensor([1, 1, 0, 0], requires_grad=True)
205 """
--> 206 data = self._read_file(filepath)
207 file_contains_dataset = True
208 if assign_to is not None:
File /usr/local/lib/python3.8/site-packages/pennylane/data/dataset.py:181, in Dataset._read_file(filepath)
179 zstd, dill = _import_zstd_dill()
180 depressed_pickle = zstd.decompress(compressed_pickle)
--> 181 return dill.loads(depressed_pickle)
File /usr/local/lib/python3.8/site-packages/dill/_dill.py:327, in loads(str, ignore, **kwds)
316 """
317 Unpickle an object from a string.
318
(...)
324 Default values for keyword arguments can be set in :mod:`dill.settings`.
325 """
326 file = StringIO(str)
--> 327 return load(file, ignore, **kwds)
File /usr/local/lib/python3.8/site-packages/dill/_dill.py:313, in load(file, ignore, **kwds)
307 def load(file, ignore=None, **kwds):
308 """
309 Unpickle an object from a file.
310
311 See :func:`loads` for keyword arguments.
312 """
--> 313 return Unpickler(file, ignore=ignore, **kwds).load()
File /usr/local/lib/python3.8/site-packages/dill/_dill.py:525, in Unpickler.load(self)
524 def load(self): #NOTE: if settings change, need to update attributes
--> 525 obj = StockUnpickler.load(self)
526 if type(obj).__module__ == getattr(_main_module, '__name__', '__main__'):
527 if not self._ignore:
528 # point obj class to main
File /usr/local/lib/python3.8/site-packages/dill/_dill.py:661, in _create_code(*args)
659 if len(args) == 16: return CodeType(*args)
660 elif len(args) == 15: return CodeType(args[0], 0, *args[1:])
--> 661 return CodeType(args[0], 0, 0, *args[1:])
662 elif hasattr(CodeType, 'co_kwonlyargcount'):
663 if len(args) == 16: return CodeType(args[0], *args[2:])
TypeError: code() takes at most 16 arguments (19 given)
And, finally, make sure to include the versions of your packages. Specifically, show us the output of qml.about()
.