# Generated by Django 2.2.17 on 2021-02-01 15:14

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('elastic', '0005_reindexer_scroll_size'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('core', '0013_auto_20210126_1041'),
    ]

    operations = [
        migrations.CreateModel(
            name='BertTagger',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('description', models.CharField(max_length=1000)),
                ('fields', models.TextField(default='[]')),
                ('query', models.TextField(default='{"query": {"match_all": {}}}')),
                ('fact_name', models.CharField(max_length=1000, null=True)),
                ('minimum_sample_size', models.IntegerField(default=50)),
                ('negative_multiplier', models.FloatField(default=1.0)),
                ('num_examples', models.TextField(default='{}', null=True)),
                ('num_epochs', models.IntegerField(default=2)),
                ('split_ratio', models.FloatField(default=0.8)),
                ('maximum_sample_size', models.IntegerField(default=100000)),
                ('learning_rate', models.FloatField(default=2e-05)),
                ('eps', models.FloatField(default=1e-08)),
                ('max_length', models.IntegerField(default=64)),
                ('batch_size', models.IntegerField(default=32)),
                ('bert_model', models.TextField(default='bert-base-multilingual-cased')),
                ('adjusted_batch_size', models.IntegerField(default=32)),
                ('confusion_matrix', models.TextField(blank=True, default='[]', null=True)),
                ('label_index', models.TextField(default='{}')),
                ('epoch_reports', models.TextField(default='[]')),
                ('accuracy', models.FloatField(default=None, null=True)),
                ('training_loss', models.FloatField(default=None, null=True)),
                ('validation_loss', models.FloatField(default=None, null=True)),
                ('precision', models.FloatField(default=None, null=True)),
                ('recall', models.FloatField(default=None, null=True)),
                ('f1_score', models.FloatField(default=None, null=True)),
                ('model', models.FileField(default=None, null=True, upload_to='', verbose_name='')),
                ('plot', models.FileField(null=True, upload_to='data/media', verbose_name='')),
                ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
                ('indices', models.ManyToManyField(default=None, to='elastic.Index')),
                ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Project')),
                ('task', models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Task')),
            ],
        ),
    ]
