a
    2F5do                     @   s|   d dl T d dlZd dlZd dlZd dlmZ d dlmZ d dlZ	d dl
mZ d dlmZ d dlZejejdZdd	 ZdS )
    )*N)keras)
device_lib)Image)settingsz;MachineLearningModels/odLeaves_transferlearning_50epochs.ptc              
      s<  t jjddtd}| jj}||}|  t| t	dD ]}d| d}g }t	|D ]}tj
||}t|}tj
tjd}	dd	lm   fd
d}
d}d}|}|  tjjj|	d|
id}|||f}tj|dd}|d }t|d||df}||}|d d  }|| q\d}d}|D ]"}|dk r4d}||k r4|}q4d| }|dkrz8tjj| j| j d}|j!|k r||_!d|_"|#  W n. tj$y   tjj%| j| j |dd Y n0 nHztjj| j| j d}W n. tj$y   tjj%| j| j ddd Y n0 t&'d| d | (  q<d S )Nzultralytics/yolov5custom)pathzruns/detectzruns/detect/z/crops/leafzHMachineLearningModels/applescabdls_advanced_tuned_mobilenetv2_adam_20.h5r   )backendc                    s    j | ddS )N   )	max_value)Zrelu)xK J/var/www/html/django/DPS/api/functionsNeuralNetworks/scabDetectionModel.pyrelu6)   s    z!scabDetectionModel.<locals>.relu6      r   )Zcustom_objectsint32)dtypeg     o@   Fg
ףp=
?T)tree_id
mission_id)r   r   probability_scabhas_scab/))torchZhubload	leafModel	image_urir   Zcropprintoslistdirjoinr   openr   STATIC_ROOTZtensorflow.kerasr	   tfr   modelsZ
load_modelresizenpasarrayreshapeZpredictitemappend	TreeStateobjectsgetr   r   r   r   saveDoesNotExistcreateshutilrmtreedelete)photomodelimgresultsfolder	directoryZprobabilitiesitems	file_pathscabDetectionModelr   Z
image_sizeZimage_channelsZscabdatanumberZhasScabZlowestProbabilityZprobabilityr   stater   r   r   r?      sb    




 r?   )gardens.modelsr   r!   
tensorflowr&   r   Ztensorflow.python.clientr   numpyr)   PILr   django.confr   r4   r   r#   r%   r   r?   r   r   r   r   <module>   s   