Float32 не устанавливает от 0 до 1, что чаще всего выполняется вашей нейронной сетью (softmax или сигмоид как последняя функция активации) Чтобы установить что-то в другой диапазон, это можно использовать:
normalized_array = (array - np.min(array))/(np.max(array) - np.min(array)) # this set the range from 0 till 1
img_array = (normalized_array * 255).astype(np.uint8) # set is to a range from 0 till 255
Коммерческая библиотека Aspose.iCal.NET делает задание
http://www.aspose.com/community/blogs/salman.sarfraz/archive/2008/11/21/where-is-aspose-icalendar.aspx (раньше был http://www.aspose.com/categories/file-format-components/aspose.network-for-.net/default.aspx),
Или этот синтаксический анализатор с открытым исходным кодом (не попробовал его),
http://sourceforge.net/projects/icalparser/
И этот блок проверки допустимости iCal онлайн пригождается
http://severinghaus.org/projects/icv/
С уважением, tamberg