示例#1
0
def create(request):
    if request.method == 'POST':
        form = DBNForm(request.POST, layer=request.POST.get('layer_count'))

        if form.is_valid():
            height = form.cleaned_data['height']
            width = form.cleaned_data['width']
            visible = height*width
            labels = form.cleaned_data['labels']
            learning_rate = form.cleaned_data['learning_rate']
            description = form.cleaned_data['description']
            name = form.cleaned_data['name']
            private = form.cleaned_data['private']
            creator = request.user
            layer_count = form.cleaned_data['layer_count']

            topology = []
            topology.append(visible)
            for index in range(layer_count):
                topology.append(form.cleaned_data['layer_{index}'.format(index=index)])

            dbn = DBNModel.build_dbn(name, creator, description, height, width, topology, labels, private, learning_rate)
            dbn.save()
            messages.add_message(request, messages.INFO, 'Successfully created the DBN!')
            url = reverse('view', kwargs={'pk': dbn.id})
            return redirect(url)
    else:
        form = DBNForm()

    return render(request, 'rbm/create.html', { 'form' : form })
示例#2
0
def create(request):
    if request.method == 'POST':
        form = DBNForm(request.POST, layer=request.POST.get('layer_count'))

        if form.is_valid():
            height = form.cleaned_data['height']
            width = form.cleaned_data['width']
            visible = height * width
            labels = form.cleaned_data['labels']
            learning_rate = form.cleaned_data['learning_rate']
            description = form.cleaned_data['description']
            name = form.cleaned_data['name']
            private = form.cleaned_data['private']
            creator = request.user
            layer_count = form.cleaned_data['layer_count']

            topology = []
            topology.append(visible)
            for index in range(layer_count):
                topology.append(
                    form.cleaned_data['layer_{index}'.format(index=index)])

            dbn = DBNModel.build_dbn(name, creator, description, height, width,
                                     topology, labels, private, learning_rate)
            dbn.save()
            messages.add_message(request, messages.INFO,
                                 'Successfully created the DBN!')
            url = reverse('view', kwargs={'pk': dbn.id})
            return redirect(url)
    else:
        form = DBNForm()

    return render(request, 'rbm/create.html', {'form': form})
示例#3
0
import pickle
import rbm_website.libs.rbm_lib.rbm as rbm
import rbm_website.libs.rbm_lib.dbn as dbn
import rbm_website.settings
import sys, os
import shutil

if __name__ == '__main__':
    os.environ["DJANGO_SETTINGS_MODULE"] = "rbm_website.settings"
    sys.path.append("rbm_website/")
    from rbm_website.apps.rbm.models import DBNModel
    sys.modules["rbm"] = rbm
    sys.modules["dbn"] = dbn
    dbn_file = open("dbn.pob", "rb")
    dbn = pickle.load(dbn_file)
    model = DBNModel()

    dbn.number_inputs = 784

    model.name = "Handwritten Digits DBN"
    model.dbn = dbn
    model.creator_id = 1
    model.description = "MAKE SURE YOU UPDATE rbm_website/settings.py FLIPPED_DBNS LIST TO INCLUDE THE ID (the number at the end of this pages url) OF THIS DBN OR IT WILL ONLY CLASSIFY 2 AND 8. Handwritten Digits DBN, please google the MNIST handwritten digits database and look at the pictures to see in what style the digits have been written. Also please make sure you centre your digits as the MNIST training set is also centred. "
    model.trained = True
    model.height = 28
    model.width = 28
    model.labels = 10
    model.private = False
    model.training = False
    model.label_values = [
        'Zero', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight',
import rbm_website.libs.rbm_lib.rbm as rbm
import rbm_website.libs.rbm_lib.dbn as dbn
import rbm_website.settings
import sys, os
import shutil

if __name__ == "__main__":
    os.environ["DJANGO_SETTINGS_MODULE"] = "rbm_website.settings"
    sys.path.append("rbm_website/")
    from rbm_website.apps.rbm.models import DBNModel

    sys.modules["rbm"] = rbm
    sys.modules["dbn"] = dbn
    dbn_file = open("dbn.pob", "rb")
    dbn = pickle.load(dbn_file)
    model = DBNModel()

    dbn.number_inputs = 784

    model.name = "Handwritten Digits DBN"
    model.dbn = dbn
    model.creator_id = 1
    model.description = "MAKE SURE YOU UPDATE rbm_website/settings.py FLIPPED_DBNS LIST TO INCLUDE THE ID (the number at the end of this pages url) OF THIS DBN OR IT WILL ONLY CLASSIFY 2 AND 8. Handwritten Digits DBN, please google the MNIST handwritten digits database and look at the pictures to see in what style the digits have been written. Also please make sure you centre your digits as the MNIST training set is also centred. "
    model.trained = True
    model.height = 28
    model.width = 28
    model.labels = 10
    model.private = False
    model.training = False
    model.label_values = ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
    model.save()