FAQs and Known Issues¶
Performance Issues¶
Q: Exploring many runs (10k+) pypet becomes incredibly slow when it comes to loading and storing data!?
A: HDF5 has a hard time managing nodes with many children. To avoid this simply group your result into buckets using the ‘$set’ wildcard. See also the Optimization Tips.
Q: pypet produces enormously large files of several Gigabytes despite them containing almost no data!?
A: Your HDF5 version is too old (most likely you are using 1.8.5). Please update to 1.8.9 or newer.
Infinite Loops¶
Q: My program does not terminate (i.e. it does not crash but runs forever) when I use pypet in multiprocessing mode in combination with matplotlib and savefig!?
A: Matplotlib uses numpy for linear algebra operations, these operations are often necessary when plotting. So, to solve the issues take a look at the next question.
Q: My program does not terminate (i.e. it does not crash but runs forever) when I use pypet in multiprocessing mode in combination with numpy and linalg.inv or some similar function!?
A: Numpy uses openBLAS (http://www.openblas.net/) to solve linear algebra operations. Yet, there are many issues with openBLAS and Python multiprocessing. To resolve this set the environment variablesOPENBLAS_NUM_THREADS=1
andOMP_NUM_THREADS=1
.
Crashes and Errors¶
Q: GitPython does not work. If I specify my repository git_repository='./myrepo'
,
pypet crashes with an AttributeError: 'Repo' object has no attribute 'index'
.
What should I do?
A: You probably have an older version of GitPython (likely 0.1.7), install a newer one. Ifpip install GitPython
still downloads the old version, trypip install --pre GitPython
or if you simply want to upgrade, usepip install --upgrade --pre GitPython
.
Q: My program crashes with
TypeError: [..] dtype: float64 its type is <class 'pandas.core.series.Series'>.
!?
A: You are using pandas version0.13.x
. Unfortunately, pandas performs some unwanted upcasting that cannot be handled by pypet (see https://github.com/pydata/pandas/issues/6526/). This unwanted upcasting did not happen in previous pandas versions and will be, or more precisely, has already been removed in the next pandas version. So either downgrade pandas to version0.12.0
or upgrade to0.14.1
or newer.
Q: My program crashes if I try to store a Trajectory containing an ArrayParameter!?
A: Look at the previous answer, you are using pandas0.13.x
, please up or downgrade your pandas package.
Other Problems¶
Q: If I create and environment in an IPython console everything becomes gibberish!?
A: Pypet will redirectstdout
to files. Unfortunately, this messes with the IPython console. To avoid this simply disable logging of this stream setting thelog_stdout
option toFalse
:env = Environment( ..., log_stdout=False, ...)
.
Q: I have large data sets that are not stored if I use multiprocessing and the lock wrapping!?
A: Probably, you use an older HDF5 version (< 1.8.7
) that does not allow simultaneous openings of a single HDF5 file. Either install a newer version or switch to queue wrapping.