Mejoras al cerebro

This commit is contained in:
2020-11-23 00:14:01 -03:00
parent 9be47df527
commit 78e02a57fe
4 changed files with 74 additions and 1 deletions

View File

@ -2,9 +2,11 @@ from flask import Flask, redirect, url_for
import os import os
from src.instrucciones import Instrucciones from src.instrucciones import Instrucciones
import json import json
from src.brain.build_data import brain_app
app = Flask(__name__) app = Flask(__name__)
app.register_blueprint(brain_app, url_prefix='/brain')
data_folder = os.path.join(os.path.realpath('..'), 'data') data_folder = os.path.join(os.path.realpath('..'), 'data')

20
src/brain/build_data.py Normal file
View File

@ -0,0 +1,20 @@
import argparse
import os
from flask import Blueprint, request
import json
brain_app = Blueprint('brain_blueprint', __name__)
@brain_app.route('/', methods=['GET'])
def index():
return {
'api': '/brain'
}
@brain_app.route('/training/data/add', methods=['POST'])
def add_data():
input_data = json.loads(request.data)
return input_data

View File

@ -1,3 +1,4 @@
import argparse
import os import os
import spacy import spacy
from src.instrucciones import Instrucciones from src.instrucciones import Instrucciones
@ -11,5 +12,22 @@ def load_model(commands):
textcat.add_label('test') textcat.add_label('test')
for c in commands.instrucciones: for c in commands.instrucciones:
textcat.add_label(c.instruccion) textcat.add_label(c.instruccion)
optimizer = nlp.begin_training()
return nlp return nlp
def save_model(data_folder, model):
folder = os.path.join(data_folder, 'model')
model.to_disk(folder)
def main(args):
commands = Instrucciones(args.data_folder)
model = load_model(commands)
save_model(args.data_folder, model)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--data_folder')
_args = parser.parse_args()
main(_args)

33
src/brain/train_model.py Normal file
View File

@ -0,0 +1,33 @@
import argparse
import os
import spacy
import json
def load_model(folder):
return spacy.load(folder)
def get_data(folder):
files = [f for f in os.listdir(folder) if os.path.isfile(os.path.join(folder, f))]
data = []
for filename in files:
with open(filename, 'r') as f:
data += json.load(f)
return data
def train_model(model, data):
optimizer = model.begin_training()
pass
def main(args):
pass
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--data_folder')
_args = parser.parse_args()
main(_args)