#python
#python
Вопрос:
Получаю ошибку, как показано ниже. «Ошибка значения: не удалось преобразовать строку в float: «
В файле есть числа
0.57273,0.677385,1.87446,2.06253,3.33843,5.47434,7.88282,3.52778,9.77052,9.16828
def read_anchors(anchors_path):
with open(anchors_path) as f:
anchors = f.readline()
anchors = [float(x) for x in anchors.split(',')]
anchors = np.array(anchors).reshape(-1, 2)
return anchors
!wget http://upscfever.com/upsc-fever/en/data/deeplearning4/images/yolo_anchors.txt -P drive/app
anchors = read_anchors("drive/app/yolo_anchors.txt")
Комментарии:
1. Какую версию Python вы используете? Отлично работает на 3.6.
2. я использую Google colab — python 3. но версия не известна
3. Вы уверены, что у вас нет нечисловых символов? Кроме того, почему бы вам не прочитать это с
numpy.loadtxt
4. как? якоря = np.loadtxt(anchors_path, разделитель=’,’)?
5. У вас почти наверняка есть пустая строка в конце вашего файла. Затем
anchors.split()
возвращается['']
иfloat()
жалуется на пустую строку, как показано в вашем сообщении об ошибке. Добавьте тестif anchors:
, чтобы ваш код не предполагал, что в строке есть данные.