eerwitt / home-value-deep-learning

Train a model which can estimate a home's value based on pictures.
http://cedarstreet.io/
5 stars 1 forks source link

Selling a Home with Deep Learning

Work flow used to build a model which can estimate a home's value based on an image of the home.

This can be used as a base project to launch off custom projects which use deep learning to build complex models used in estimating.

The work flow is designed with the following goals in mind.

The process which is used in building these models follows this pattern:

Setup Requirements

This is a Python project which works best on Python 2.7 but should work on Python 3.0 as well.

Mostly you'll need requirements in the main project but sub-projects will have separate requirements.

pip install -r requirements.txt

Now startup the notebooks and look around.

ipython notebook

Running anything using your EC2 account requires the proper AWS credentials file and to update the profile setting from cedarstreet to your profile's name.

It will also require security policies in place with enough access to your profile, an example is placed below.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt000",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeSpotInstanceRequests",
                "ec2:RequestSpotInstances",
                "ec2:DescribeSpotPriceHistory"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

When using Ansible, it will require SSH access to the VPC's Security Group where those instances are running.

Process

General Architecture

General Operations

Manage the system or systems which are doing the model training.

Training Data Setup

Create data which will be used to create a model.

References