Я использую библиотеку keras для предварительной обработки моих данных после начального шага, состоящего в том, чтобы предварительно определить фотографии в папке с их классификацией.Я не хотел делать это вручную, поэтому я сделал свой собственный скрипт, но он не работает, может кто-нибудь помочь отладить его?Это не дает конкретной ошибки, но просто не заканчивает работу и останавливается на фотографии ISIC_0000006
.wah
- если фотография классифицирована как раковая, yay
- если фотография классифицирована как доброкачественный рак.Набор данных возвращает 1
, если он плохой, и 0
, если все в порядке.Я до сих пор не знаю проблемы.
Этот - это набор данных, который я использую.
Кстати, я все еще ребенок, поэтому, пожалуйста, не ждите, что яслишком много знаю о программировании.
Примеры строк из набора данных:
ISIC_0000000 = 0
ISIC_0000001 = 0
ISIC_0000002 = 1
ISIC_0000003 = 0
ISIC_0000004 = 0
ISIC_0000005 = 1
Мой код:
import pandas as pd
import os
dataset = pd.read_csv('ISIC-2017_Training_Part3_GroundTruth.csv')
dataset = dataset.iloc[:, :-1]
x = 0
xb = 0
xm = 0
prevName = 'ISIC_0000000.jpg'
newName = 'yay/benign1'
while(x <= 1500):
x = x + 1
if prevName == dataset.iloc[x-1, 0] + '.jpg':
if x < 10:
prevName = 'ISIC_000000' + str(x-1) + '.jpg'
if prevName == 'ISIC_0000005.jpg': #dataset has random hole so skips over
x = x + 1
prevName = 'ISIC_0000006.jpg'
elif x < 100:
prevName = 'ISIC_00000' + str(x-1) + '.jpg'
elif x < 1000:
prevName = 'ISIC_0000' + str(x-1) + '.jpg'
else:
prevName = 'ISIC_000' + str(x-1) + '.jpg'
if dataset.iloc[x-1, 1] == 1:
xm = xm + 1
newName = 'melanoma' + str(xm)
else:
xb = xb + 1
newName = 'benign' + str(xb)
if newName == 'benign' + str(xb):
newName = 'yay/' + newName + '.jpg'
os.rename(prevName, newName)
else:
newName = 'wah/' + newName + '.jpg'
os.rename(prevName, newName)
prevName = 'ISIC_000000' + str(x+1) + '.jpg'
РЕДАКТИРОВАТЬ !!!Это мой новый код, благодаря Абхине Гупте, которая может пройти дальше через набор данных, но странным образом останавливается на фотографии 34:
import pandas as pd
import os
dataset = pd.read_csv('_ISIC-2017_Training_Part3_GroundTruth.csv')
dataset = dataset.iloc[:, :-1]
x = 0
xb = 0
xm = 0
prevName = 'ISIC_0000000.jpg'
newName = 'yay/benign1'
while(x <= 1500):
x = x + 1
prevName = 'ISIC_' + str(x).zfill(7) + '.jpg'
if prevName == dataset.iloc[x-1, 0] + '.jpg':
if x == '0000005':
x = x + 1
prevName = 'ISIC_000006.jpg'
if dataset.iloc[x-1, 1] == 1:
xm = xm + 1
newName = 'melanoma' + str(xm)
else:
xb = xb + 1
newName = 'benign' + str(xb)
if newName == 'benign' + str(xb):
newName = 'yay/' + newName + '.jpg'
os.rename(prevName, newName)
else:
newName = 'wah/' + newName + '.jpg'
os.rename(prevName, newName)
prevName = 'ISIC_000000' + str(x+1) + '.jpg'
Последнее редактирование: оказывается, это не ошибка кодов, а толькоФайл .csv был испорчен.Спасибо Abhineet Gupta и mrk за решения !!!