diff --git a/test/runtests.jl b/test/runtests.jl index 6e401ec..954c916 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,2 +1,3 @@ include("config.jl") include("layers.jl") +include("train.jl") diff --git a/test/train.jl b/test/train.jl new file mode 100644 index 0000000..76f0a95 --- /dev/null +++ b/test/train.jl @@ -0,0 +1,29 @@ +using Knet: relu, gpu + +@testset "houserentals" begin + hr = AutoML.house_rentals() + trn, tst = AutoML.splitdata(hr; trainprop=0.8) + epochs = 100 + + hrtrn = AutoML.csv2data(trn) + hrtst = AutoML.csv2data(tst) + + hrinputs = [("neighborhood", "String"), + ("number_of_bathrooms", "Int"), + ("location", "String"), + ("days_on_market", "Int"), + ("initial_price", "Float"), + ("number_of_rooms", "Int"), + ("sqft", "Float")] + hroutputs = [("rental_price", "Float")] + + model = AutoML.Model(hrinputs, hroutputs; name="houserentals") + model, dtrn = AutoML.train(model, hrtrn; epochs=epochs) + dtst = AutoML.getbatches(model, hrtst) + + trnerr = model.model(dtrn.x, dtrn.y) + tsterr = model.model(dtst.x, dtst.y) + threshold = 1000 + + @test abs(trnerr - tsterr) < threshold +end