Describe the bugfrom fedlab.contrib.algorithm.basic_client import SGDSerialClientTrainer fails with ModuleNotFoundError: no module named 'seaborn'.
This is because fedlab.utils.dataset.functional imports seaborn and matplotlib for use in the feddate_scatterplot() function, but the dependency is not specified in install_requires in setup.py.
Additional context
Since seaborn and matplotlib are only used for those two functions, the import should be move into those functions and seaborn should be marked as an optional dependency.
Describe the bug
from fedlab.contrib.algorithm.basic_client import SGDSerialClientTrainer
fails withModuleNotFoundError: no module named 'seaborn'
.This is because
fedlab.utils.dataset.functional
importsseaborn
andmatplotlib
for use in thefeddate_scatterplot()
function, but the dependency is not specified ininstall_requires
insetup.py
.Environment Environment you use when bug appears:
Additional context Since
seaborn
andmatplotlib
are only used for those two functions, the import should be move into those functions andseaborn
should be marked as an optional dependency.