diff --git a/project-report/project-report.pdf b/project-report/project-report.pdf index f93b0a4..bab3295 100644 Binary files a/project-report/project-report.pdf and b/project-report/project-report.pdf differ diff --git a/project-report/src/latex/analysis.tex b/project-report/src/latex/analysis.tex index 92fa017..ceeaa5e 100644 --- a/project-report/src/latex/analysis.tex +++ b/project-report/src/latex/analysis.tex @@ -96,9 +96,9 @@ \subsection{Requirements} \hline 2 & Develop Artificial Neural Networks from first principles & & \\ \hline - 2.1 & Provide utilities for creating Artificial Neural Networks & \hyperref[sec:utils-subpackage]{Page \pageref{sec:utils-subpackage}} & \hyperref[sec:unit-tests]{Page \pageref{sec:unit-tests}} \\ + 2.1 & Provide utilities for creating Artificial Neural Networks & \hyperref[sec:utils-subpackage]{Page \pageref{sec:utils-subpackage}} & \hyperref[sec:models-utils-unit-tests]{Page \pageref{sec:models-utils-unit-tests}} \\ \hline - 2.2 & Allow for the saving and loading of trained models' weights and biases & \hyperref[sec:model-module]{Page \pageref{sec:model-module}} & \hyperref[sec:unit-tests]{Page \pageref{sec:unit-tests}} \\ + 2.2 & Allow for the saving and loading of trained models' weights and biases & \hyperref[sec:model-module]{Page \pageref{sec:model-module}} & \hyperref[sec:models-utils-unit-tests]{Page \pageref{sec:models-utils-unit-tests}} \\ \hline 2.3 & Allow use of Graphics Cards for faster training & Code not included in report & \hyperref[sec:cpu-vs-gpu-analysis]{Page \pageref{sec:cpu-vs-gpu-analysis}} \\ \hline @@ -108,7 +108,7 @@ \subsection{Requirements} \hline 3.2 & Allow unique datasets and train dataset size to be loaded & \hyperref[sec:ann-implementations]{Page \pageref{sec:ann-implementations}} & \hyperref[sec:train-dataset-size-analysis]{Page \pageref{sec:train-dataset-size-analysis}} \\ \hline - 4 & Use a database to store a model's features and the location of its weights and biases & \hyperref[sec:__main__-module]{Page \pageref{sec:__main__-module}} & TODO Unit Test \\ + 4 & Use a database to store a model's features and the location of its weights and biases & \hyperref[sec:__main__-module]{Page \pageref{sec:__main__-module}} & \hyperref[sec:database-unit-tests]{Page \pageref{sec:database-unit-tests}} \\ \hline 5 & Develop a Graphical User Interface & & \\ \hline diff --git a/project-report/src/latex/design.tex b/project-report/src/latex/design.tex index 8140c20..d129c46 100644 --- a/project-report/src/latex/design.tex +++ b/project-report/src/latex/design.tex @@ -100,6 +100,10 @@ \subsection{Database Design} \begin{minted}{sql} UNIQUE (Dataset, Name) \end{minted} + \item I will also use the following constraint on each attribute to ensure no attribute is left empty: + \begin{minted}{sql} + NOT NULL + \end{minted} \end{itemize} \subsection{Queries} diff --git a/project-report/src/latex/testing.tex b/project-report/src/latex/testing.tex index 0d6f115..cddd089 100644 --- a/project-report/src/latex/testing.tex +++ b/project-report/src/latex/testing.tex @@ -173,19 +173,26 @@ \subsubsection{Input Validation Testing} % See table on teams \subsection{Automated Testing} \subsubsection{Unit Tests} -\label{sec:unit-tests} -Within the test package, I have written the following unit tests for the utils subpackage of both the cpu and gpu subpackage of the models package. Similarly to the code for the cpu -and gpu subpackage, it is only worth showing the code for the cpu version as both are very similar in functionality. +Within the test package, I have written the following unit tests: \begin{itemize} - \item test\_model.py module: - \inputminted{python}{./school_project/test/models/cpu/utils/test_model.py} - - \pagebreak - - \item test\_tools.py module: - \inputminted{python}{./school_project/test/models/cpu/utils/test_tools.py} + \label{sec:database-unit-tests} + \item Unit tests for the database in a test\_database.py module: + \inputminted{python}{./school_project/test/test_database.py} + + \label{sec:models-utils-unit-tests} + \item Unit tests for the utils subpackage of both the cpu and gpu subpackage of the models package. Similarly to the code for the cpu and gpu subpackage, it is + only worth showing the code for the cpu version as both are very similar in functionality. + \begin{itemize} + \item test\_model.py module: + \inputminted{python}{./school_project/test/models/cpu/utils/test_model.py} + + \pagebreak + + \item test\_tools.py module: + \inputminted{python}{./school_project/test/models/cpu/utils/test_tools.py} + \end{itemize} \end{itemize} \subsubsection{GitHub Automated Testing}