Metadata-Version: 2.1
Name: traintorch
Version: 1.0.2
Summary: Package for live visualization of metrics during training of a machine learning model
Home-page: https://github.com/rouzbeh-afrasiabi/traintorch
Author: Rouzbeh Afrasiabi
Author-email: rouzbeh.afrasiabi@gmail.com
License: UNKNOWN
Download-URL: https://github.com/rouzbeh-afrasiabi/traintorch/archive/v.1.0.2-alpha.tar.gz
Description: # Traintorch (alpha)
        [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d4b74c08973343128d17532b4b84e154)](https://www.codacy.com/manual/rouzbeh-afrasiabi/traintorch?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=rouzbeh-afrasiabi/traintorch&amp;utm_campaign=Badge_Grade)
        
        
        <p align="justify">
        Package for live visualization of model validation metrics during training of a machine learning model in jupyter notebooks. The package utilizes a sliding window mechanism to reduce memory usage.
        </p> 
        
        ## Requirements:
        
        ```
        pandas==0.25.1
        matplotlib==3.1.1
        ipython==7.8.0
        numpy==1.17.2
        pycm==2.2
        ```
         ## Installation:
         
         ### Latest release:
         ```
         pip install traintorch
          ```
          
        ### Latest Version
        
         ```
         pip install git+https://github.com/rouzbeh-afrasiabi/traintorch.git
         ```
        
        ## Example 
        
        ### Simple Usage
        ```python
        from traintorch import *
        
        #custom metrics
        first=metric('Loss',w_size=10,average=False)
        second=metric('Accuracy',w_size=10,average=False)
        
        
        #create an instance of traintorch
        tracker=traintorch(n_custom_plots=2,main_grid_hspace=.1, figsize=(15,10),show_table=True)
        #combine all metrics together
        tracker.append([first,second])
        
        
        range_max=1000
        for i in range(0,range_max,1):
            
            first.update(train_loss=1/(i+1),test_loss=1/(i**2+1))
            second.update(y=i/(i*2+1))
            tracker.plot()
        ```
         <p align='center'>
         <img src='./images/dash_a.png'></img>
         
         </p>
        
        
        
        ### Using pycm metrics and doing comparison
        
        
        ```python
        from traintorch import *
        
        
        #custom metric
        first=metric('Loss',w_size=10,average=False)
        
        #pycm metrics
        overall_selected=['ACC Macro']
        cm_metrics_a=pycmMetrics(overall_selected,name='train',w_size=10)
        cm_metrics_b=pycmMetrics(overall_selected,name='test',w_size=10)
        
        #compare two metrics of the same kind
        compare_a=collate(cm_metrics_a,cm_metrics_b,'ACC Macro')
        
        #create an instance of traintorch
        tracker=traintorch(n_custom_plots=1,main_grid_hspace=.1,figsize=(15,15),show_table=True)
        
        #combine all metrics together
        tracker.append([first,cm_metrics_a,cm_metrics_b,compare_a])
        
        
        range_max=1000
        for i in range(0,range_max,1):
            
            actual_a=np.random.choice([0, 1], size=(20,), p=[1./3, 2./3])
            predicted_a=np.random.choice([0, 1], size=(20,),p=[1-(i/range_max), i/range_max])
            actual_b=np.random.choice([0, 1], size=(20,), p=[1./3, 2./3])
            predicted_b=np.random.choice([0, 1], size=(20,),p=[1-(i/range_max), i/range_max])
            cm_metrics_a.update(actual_a,predicted_a)
            cm_metrics_b.update(actual_b,predicted_b)
            first.update(train=1/(i+1),test=1/(i**2+1))
            compare_a.update()
            tracker.plot()
        
        ```
         <p align='center'>
         <img src='./images/dash.png'></img>
         
         </p>
        
Keywords: training,visualization,loss,plot,live,jupyter notebook,matplotlib
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
