Я новичок в matplotlib, поэтому извиняюсь, если это кажется глупым вопросом.
У меня есть файл csv со значениями веса для отдельных нейронов на разных уровнях моей модели глубокого обучения. Поскольку в моей модели четыре слоя, файловая структура выглядит так:
weight_1, weight_2 ...... weight_n
weight_1, weight_2 ...... weight_n
weight_1, weight_2 ...... weight_n
weight_1, weight_2 ...... weight_n
Я хочу извлечь веса из каждого слой и сгенерировать из него распределения. У меня уже есть код для него, и он работает, но для некоторых эпох гистограммы имеют странные цвета, которые выглядят как другие гистограммы. К вопросу прилагаю образец изображения.
Как видите, есть небольшая часть sh мизинца, которая замаскирована синим цветом гистограммы. Может ли кто-нибудь помочь мне понять, что это?
Мой код в настоящее время выглядит так (предположим, что мой файл загружен в считывающее устройство):
for row in csv_reader:
a = np.array(row)
a_float = a.astype(np.float)
plt.hist(a_float,bins=20)
plt.xlabel("weight_range")
plt.ylabel("frequency")
Обратите внимание, что ЧЕТЫРЕ разных графика (изображения) создаются после завершения l oop, так как файл csv состоит из четырех строк. Я разместил только образец изображения для одного из них. Я не пытался построить все строки на одном графике.
EDIT
Я уменьшил количество ячеек, и теперь он более заметен. Я прилагаю еще один пример изображения.
РЕШЕНО
Добавление plt.figure () внутри l oop решило эту проблему. Пожалуйста, проверьте комментарии и ответьте ниже, чтобы узнать подробности. Обновленный l oop должен быть таким:
for row in csv_reader:
a = np.array(row)
a_float = a.astype(np.float)
plt.figure()
plt.hist(a_float,bins=20)
plt.xlabel("weight_range")
plt.ylabel("frequency")
plt.close()