updated report and added benchmark script

This commit is contained in:
Phuntsok Drak-pa 2019-04-01 17:34:34 +02:00
parent fdb6e89310
commit 15488ace23
4 changed files with 31 additions and 3 deletions

2
.gitignore vendored
View File

@ -177,3 +177,5 @@ $RECYCLE.BIN/
# End of https://www.gitignore.io/api/c,c++,ninja,macos,linux,cmake,windows,visualstudiocode # End of https://www.gitignore.io/api/c,c++,ninja,macos,linux,cmake,windows,visualstudiocode
build build
output*
results.txt

20
benchmarks.fish Executable file
View 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

View File

@ -34,7 +34,7 @@ aléatoirement à limage.
Pour évaluer la ressemblance entre deux image, jévalue une distance euclidienne Pour évaluer la ressemblance entre deux image, jévalue une distance euclidienne
entre le vecteur de leurs pixels qui peut se résumer à ceci : entre le vecteur de leurs pixels qui peut se résumer à ceci :
#+begin_export latex #+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 #+end_export
~V~ étant le vecteur de pixels de limage de référence, ~W~ étant le vecteur de ~V~ étant le vecteur de pixels de limage de référence, ~W~ étant le vecteur de
pixels de limage générée, et ~n~ la taille de ces deux vecteurs. pixels de limage générée, et ~n~ la taille de ces deux vecteurs.
@ -188,7 +188,13 @@ cette modification de lalgorithme.
** Concurrence entre threads ** Concurrence entre threads
Une utilisation na Une utilisation de calculs parallèles pourrait être intéressante afin
daccélerer la génération des images : lutilisation de threads mis en
concurrence. À chaque tentative damélioration de limage, plusieurs threads
sont lancés, et chacun créera sa propre amélioration possible de limage. Ces
résultats sont récupérés et évalués, et parmi les résultats améliorant limage
générée, celle avec le meilleur score est conservée. Cela permet ainsi de
multiplier les chances davoir une amélioration de limage par tentative.
* Annexes * Annexes
** Images ** Images

Binary file not shown.