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 })
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})
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()