Попытка использовать URL-адрес поиска image-net для захвата изображений в папке int после изменения их размера до 50x50 (оттенки серого).
В PyCharm, использующем anaconda, все работает нормально, но когда я пытаюсь запустить его на сервере Ubuntu, со временем появляются некоторые ошибки.
Ошибка массажа:
...
Сохранено: 1448
Сохранено: 1449
Сохранено: 1450
Сохранено: завершить вызов после
бросая экземпляр 'std :: out_of_range' what ():
basic_string :: substr: __pos (который равен 140)> this-> size () (который является
94)
В моем коде есть несколько распечаток, чтобы получить статус, поэтому "Saved: x" - счетчик изображений.
Функция:
def get_images_to_dir(img_typ, images_list_lnk, scope,images_counter,size):
images_url = urllib.urlopen(images_list_lnk)
urls = images_url.read()
if not os.path.exists(img_typ):
os.mkdir(img_typ)
error_counter = 0
for url in urls.split('\n'):
# Try and catch need to be enable only when the function is going to run without me.
# It's help the function continue if something isn't work
if (images_counter[0] == scope): break
img_name = img_typ+'/'+str(images_counter[0])+'.jpg'
try:
urllib.urlretrieve(url, img_name)
img = cv2.imread(img_name, cv2.IMREAD_GRAYSCALE)
if (img is not None): # If connection success, but no image was found
img = cv2.resize(img, size)
cv2.imwrite(img_name, img)
print 'Saved:', images_counter[0] # !Main problem!
images_counter[0] += 1
except Exception as e:
error_counter += 1 # Counting Exceptions
print 'error_counter=',error_counter
о заголовке функции:
img_typ - строка ('pos')
images_list_lnk - строка ('domain.org/file.txt')
scope - int (5000)
images_counter - массив с одним местом np.array ([0])
размер - (50,50)