Ошибка значения: не удалось преобразовать строку в float — в Google colab

#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: , чтобы ваш код не предполагал, что в строке есть данные.