summaryrefslogtreecommitdiff
path: root/lj_matrix
diff options
context:
space:
mode:
Diffstat (limited to 'lj_matrix')
-rw-r--r--lj_matrix/__main__.py68
-rw-r--r--lj_matrix/do_ml.py4
2 files changed, 4 insertions, 68 deletions
diff --git a/lj_matrix/__main__.py b/lj_matrix/__main__.py
index 8e52031f1..f7e4065da 100644
--- a/lj_matrix/__main__.py
+++ b/lj_matrix/__main__.py
@@ -20,76 +20,10 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
"""
-import time
-from multiprocessing import Process, Pipe
-# import matplotlib.pyplot as plt
import pandas as pd
-from lj_matrix.misc import printc
-from lj_matrix.read_qm7_data import read_qm7_data
-from lj_matrix.parallel_create_matrices import parallel_create_matrices
from lj_matrix.do_ml import do_ml
-# Test
-def ml():
- """
- Main function that does the whole ML process.
- """
- # Initialization time.
- init_time = time.perf_counter()
-
- # Data reading.
- molecules, nuclear_charge, energy_pbe0, energy_delta = read_qm7_data()
-
- # Matrices calculation.
- cm_data, ljm_data = parallel_create_matrices(molecules, nuclear_charge)
-
- # ML calculation.
- procs = []
- # cm_pipes = []
- ljm_pipes = []
- for i in range(1500, 6500 + 1, 500):
- # cm_recv, cm_send = Pipe(False)
- # p1 = Process(target=do_ml,
- # args=(cm_data, energy_pbe0, i, 'CM', cm_send))
- # procs.append(p1)
- # cm_pipes.append(cm_recv)
- # p1.start()
-
- ljm_recv, ljm_send = Pipe(False)
- p2 = Process(target=do_ml,
- args=(ljm_data, energy_pbe0, i, 'L-JM', ljm_send))
- procs.append(p2)
- ljm_pipes.append(ljm_recv)
- p2.start()
-
- # cm_bench_results = []
- ljm_bench_results = []
- for ljd_pipe in ljm_pipes: # cd_pipe, ljd_pipe in zip(cm_pipes, ljm_pipes):
- # cm_bench_results.append(cd_pipe.recv())
- ljm_bench_results.append(ljd_pipe.recv())
-
- for proc in procs:
- proc.join()
-
- with open('data\\benchmarks.csv', 'a') as save_file:
- # save_file.write(''.join(['ml_type,tr_size,te_size,kernel_s,',
- # 'mae,time,lj_s,lj_e,date_ran\n']))
- date = '/'.join([str(field) for field in time.localtime()[:3][::-1]])
- for ljm in ljm_bench_results: # cm, ljm, in zip(cm_bench_results, ljm_bench_results):
- # cm_text = ','.join([str(field) for field in cm])\
- # + ',' + date + '\n'
- ljm_text = ','.join([str(field) for field in ljm])\
- + ',1,0.25,' + date + '\n'
- # save_file.write(cm_text)
- save_file.write(ljm_text)
-
- # End of program
- end_time = time.perf_counter()
- printc('Program took {:.4f} seconds.'.format(end_time - init_time),
- 'CYAN')
-
-
def pl():
"""
Function for plotting the benchmarks.
@@ -211,6 +145,6 @@ def pl():
if __name__ == '__main__':
- ml()
+ do_ml(min_training_size=1500, max_training_size=3000)
# pl()
print('OK!')
diff --git a/lj_matrix/do_ml.py b/lj_matrix/do_ml.py
index 12323780a..8724e6831 100644
--- a/lj_matrix/do_ml.py
+++ b/lj_matrix/do_ml.py
@@ -113,7 +113,7 @@ def ml(desc_data,
def do_ml(min_training_size,
max_training_size=None,
- training_increment_size=None,
+ training_increment_size=500,
ljm_sigma=1.0,
ljm_epsilon=1.0,
save_benchmarks=False,
@@ -138,6 +138,8 @@ def do_ml(min_training_size,
"""
# Initialization time.
init_time = time.perf_counter()
+ if not max_training_size:
+ max_training_size = min_training_size + training_increment_size
# Data reading.
molecules, nuclear_charge, energy_pbe0, energy_delta = read_qm7_data()