I want to load a tif file as a dictionary-like object.
Attempt 1:
import os
import numpy as np
with np.load(os.path.join(data_dir, 'abc.tif')) as data:
X_test = data['X']
y_test = data['y']
Traceback for attempt 1:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Input In [8], in <cell line: 1>()
----> 1 with np.load(os.path.join(data_dir, 'abc.tif')) as data:
2 X_test = data['X']
3 y_test = data['y']
File /scg/apps/software/jupyter/python_3.9/lib/python3.9/site-packages/numpy/lib/npyio.py:438, in load(file, mmap_mode, allow_pickle, fix_imports, encoding, max_header_size)
435 else:
436 # Try a pickle
437 if not allow_pickle:
--> 438 raise ValueError("Cannot load file containing pickled data "
439 "when allow_pickle=False")
440 try:
441 return pickle.load(fid, **pickle_kwargs)
ValueError: Cannot load file containing pickled data when allow_pickle=False
Attempt 2:
with np.load(os.path.join(data_dir, 'abc.tif'), allow_pickle=True) as data:
X_test = data['X']
y_test = data['y']
Traceback for attempt 2:
---------------------------------------------------------------------------
UnpicklingError Traceback (most recent call last)
File /scg/apps/software/jupyter/python_3.9/lib/python3.9/site-packages/numpy/lib/npyio.py:441, in load(file, mmap_mode, allow_pickle, fix_imports, encoding, max_header_size)
440 try:
--> 441 return pickle.load(fid, **pickle_kwargs)
442 except Exception as e:
UnpicklingError: invalid load key, '*'.
The above exception was the direct cause of the following exception:
UnpicklingError Traceback (most recent call last)
Input In [9], in <cell line: 1>()
----> 1 with np.load(os.path.join(data_dir, 'abc.tif'), allow_pickle=True) as data:
2 X_test = data['X']
3 y_test = data['y']
File /scg/apps/software/jupyter/python_3.9/lib/python3.9/site-packages/numpy/lib/npyio.py:443, in load(file, mmap_mode, allow_pickle, fix_imports, encoding, max_header_size)
441 return pickle.load(fid, **pickle_kwargs)
442 except Exception as e:
--> 443 raise pickle.UnpicklingError(
444 f"Failed to interpret file {file!r} as a pickle") from e
UnpicklingError: Failed to interpret file 'abc.tif' as a pickle