updated report and added benchmark script
This commit is contained in:
		
							parent
							
								
									fdb6e89310
								
							
						
					
					
						commit
						15488ace23
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -177,3 +177,5 @@ $RECYCLE.BIN/
 | 
			
		||||
# End of https://www.gitignore.io/api/c,c++,ninja,macos,linux,cmake,windows,visualstudiocode
 | 
			
		||||
 | 
			
		||||
build
 | 
			
		||||
output*
 | 
			
		||||
results.txt
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								benchmarks.fish
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								benchmarks.fish
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,20 @@
 | 
			
		||||
#!/usr/bin/env fish
 | 
			
		||||
 | 
			
		||||
# This script was written to work with the fish shell. If you do not have the
 | 
			
		||||
# fish shell installed on your system, please install it before executing this
 | 
			
		||||
# script.
 | 
			
		||||
# The results will be stored in the output file `results.txt`
 | 
			
		||||
 | 
			
		||||
set nb_amelioration 10 50 100 200 500 1000
 | 
			
		||||
set nb_execution 200 100 50 20 10 5
 | 
			
		||||
set available_methods 1 2 3
 | 
			
		||||
set output results.txt
 | 
			
		||||
 | 
			
		||||
rm -f $output
 | 
			
		||||
 | 
			
		||||
for method in $available_methods
 | 
			
		||||
		for i in (seq (count $nb_execution))
 | 
			
		||||
				perf stat -r $nb_execution[$i] -B ./build/bin/genetic-image -i ./img/mahakala-monochrome.jpg -n $nb_amelioration[$i] -m $method ^| grep -iE "counter|elapsed" >> $output
 | 
			
		||||
				echo "" >> $output
 | 
			
		||||
		end
 | 
			
		||||
end
 | 
			
		||||
@ -34,7 +34,7 @@ aléatoirement à l’image.
 | 
			
		||||
Pour évaluer la ressemblance entre deux image, j’évalue une distance euclidienne
 | 
			
		||||
entre le vecteur de leurs pixels qui peut se résumer à ceci :
 | 
			
		||||
#+begin_export latex
 | 
			
		||||
$$\sqrt{\sum_{i=0}^{n} V_{i}^{2}+W_{i}^{2}}$$
 | 
			
		||||
$$\sqrt{\sum_{i=0}^n(v_i - w_i)^2}$$
 | 
			
		||||
#+end_export
 | 
			
		||||
~V~ étant le vecteur de pixels de l’image de référence, ~W~ étant le vecteur de
 | 
			
		||||
pixels de l’image générée, et ~n~ la taille de ces deux vecteurs.
 | 
			
		||||
@ -188,7 +188,13 @@ cette modification de l’algorithme.
 | 
			
		||||
 | 
			
		||||
** Concurrence entre threads
 | 
			
		||||
 | 
			
		||||
Une utilisation na
 | 
			
		||||
Une utilisation de calculs parallèles pourrait être intéressante afin
 | 
			
		||||
d’accélerer la génération des images : l’utilisation de threads mis en
 | 
			
		||||
concurrence. À chaque tentative d’amélioration de l’image, plusieurs threads
 | 
			
		||||
sont lancés, et chacun créera sa propre amélioration possible de l’image. Ces
 | 
			
		||||
résultats sont récupérés et évalués, et parmi les résultats améliorant l’image
 | 
			
		||||
générée, celle avec le meilleur score est conservée. Cela permet ainsi de
 | 
			
		||||
multiplier les chances d’avoir une amélioration de l’image par tentative.
 | 
			
		||||
 | 
			
		||||
* Annexes
 | 
			
		||||
** Images
 | 
			
		||||
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user