Sha256: 5e64a64a798f682f080cb23547e7202c59aceec4d6f3cc0925df979d7e5d92c5

Contents?: true

Size: 784 Bytes

Versions: 3

Compression:

Stored size: 784 Bytes

Contents

require "dnn"
require "dnn/datasets/mnist"
require "numo/linalg/autoloader"
require_relative "dcgan"

include DNN::Optimizers
include DNN::Losses
include DNN::Callbacks
MNIST = DNN::MNIST

Numo::SFloat.srand(rand(1 << 31))

epochs = 20
batch_size = 128

gen = Generator.new
dis = Discriminator.new
dcgan = DCGAN.new(gen, dis)

dis.setup(Adam.new(alpha: 0.00001, beta1: 0.1), SigmoidCrossEntropy.new)
dcgan.setup(Adam.new(alpha: 0.0002, beta1: 0.5), SigmoidCrossEntropy.new)

x_train, * = MNIST.load_train
x_train = Numo::SFloat.cast(x_train)
x_train = x_train / 127.5 - 1

dcgan.add_callback(CheckPoint.new("trained/dcgan_model"))
dcgan.predict1(Numo::SFloat.zeros(20))
dcgan.train(x_train, x_train, epochs, batch_size: batch_size, last_round_down: true)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby-dnn-0.14.2 examples/dcgan/train.rb
ruby-dnn-0.14.1 examples/dcgan/train.rb
ruby-dnn-0.14.0 examples/dcgan/train.rb