@@ -352,3 +353,8 @@ Após a implementação de seu classificador, você deve configurá-lo no pynovi
Caso você necessite de classes utilitárias, os arquivos delas devem ser criados no diretório src/util/. Além disso, as classes utilitárias devem ser registradas como módulos no arquivo src/util/__init__.py
Caso dê problema relacionado ao número de processos, adicione as duas váriaveis de ambiente,
sendo que deve adicionar no número de threads que o seu processador permite:
self.data=Manager().list()#is a necessary because have a problem with use Process and normaly declaration
self.labels=Manager().list()
self.types=Manager().list()
else:
self.data=[]#is a necessary because have a problem with use Process and normaly declaration
self.labels=[]
self.types=[]
"""Runs the feature extraction algorithms on all images of dataset.
Parameters
...
...
@@ -98,14 +107,9 @@ class FeatureExtractor(object):
self.job_extractor(dataset,cl,classes)
self.print_console("Wait a moment, the threads are processing "+str(len(self.threads))+" images, it may be delayed depending on the size or quantity of the images!")
print("Number of Cores: "+str(multiprocessing.cpu_count()))
#Start threads
withtqdm(total=len(self.threads))aspbar:
fortinself.threads:
t.start()
if(len(multiprocessing.active_children())>10):
t.join()
gc.collect()
pbar.update(1)
pbar.close()
...
...
@@ -113,13 +117,14 @@ class FeatureExtractor(object):
withtqdm(total=len(self.threads))asppbar:
fortinself.threads:
t.join()
delt
ppbar.update(1)
ppbar.close()
self.print_console("The process was completed with "+str(len(self.threads))+" images!")
iflen(self.data)==0:
raiseIException("There are no images in dataset: %s"%dataset)