Neural network regression of car-prices

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Neural network regression of car-prices

We assume that the car prices (y) can be predicted as ?=?(?) where ?=[?0..?9..] are the car features and ? is a three layer fully connected neural network. We first create the matrix X_train, whose columns are the normalized training features.

Create a three layer neural network with hidden layers of h1 and h2 neurons respectively. Use RELU activations at the hidden layers and no activation on the output layer.

class Net(nn.Module):
    def __init__(self,Nfeatures,Noutput,Nh1=10,Nh2=10):
        super(Net, self).__init__()
        
        # YOUR CODE HERE

    def forward(self, x):
        
        # YOUR CODE HERE

featureScale = np.max(np.abs(X_train),axis=0,keepdims=True)
X_train_T = X_train/featureScale
X_train_T = torch.tensor(X_train_T.astype(np.float32))

ymax = np.max(y_train,axis=0,keepdims=True)
y_train_T = torch.tensor(y_train.astype(np.float32)/ymax).unsqueeze(1)

Training

YOUR CODE BELOW 

  1. Define a network with 20 features/neurons in hidden layer 1 and 25 in layer 2
  2. Define optimizer to be SGD
  3. Define the loss as the norm of the error
  4. Train the network for 10,000 epochs with a learning rate of 1e-3

net = Net(16,1,50,50)
out = net(X_train_T)

# YOUR CODE HERE

for epoch in range(10000):
    
    #YOUR CODE HERE

    if(np.mod(epoch,1000)==0):
      print("Error =",error.detach().cpu().item())
      fig,ax = plt.subplots(1,1,figsize=(12,4))
      ax.plot(y_train_T.abs().detach().cpu(),label='Actual Price')
      ax.plot(out.abs().detach().cpu(),label='Prediction')
      ax.legend()
      plt.show()

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

I am getting an error as below:

RuntimeError: Found dtype Double but expected Float

 

it
3
View
i
RuntimeError
Insert
---> 21
↓
<ipython-input-17-906c938d62e6>
# Backward pass
486
487
--> 488
Cell Kernel Widgets
Run C ▶ Code
19
20 #optimizer.zero_grad ()
loss.backward()
22 optimizer.step()
23
489
490
~\anaconda3\lib\site-packages\torch\_tensor.py in backward (self, gradient, retain_graph, create_graph, inputs)
)
riables, inputs)
Help
in <module>
)
inputs=inputs,
B
Traceback (most recent call last)
torch.autograd.backward(
self, gradient, retain_graph, create_graph, inputs=inputs
~\anaconda3\lib\site-packages\torch\autograd\__init__.py
195
196
--> 197
198
199
RuntimeError: Found dtype Double but expected Float
# some Python versions print out the first line of a multi-line function
# calls in the traceback and some print out the last line
Trusted
in backward (tensors, grad_tensors, retain_graph, create_graph, grad_va
Python 3
Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass
tensors, grad_tensors_, retain_graph, create_graph, inputs,
allow_unreachable=True, accumulate_grad=True) # Calls into the C++ engine to run the backward pass
Transcribed Image Text:it 3 View i RuntimeError Insert ---> 21 ↓ <ipython-input-17-906c938d62e6> # Backward pass 486 487 --> 488 Cell Kernel Widgets Run C ▶ Code 19 20 #optimizer.zero_grad () loss.backward() 22 optimizer.step() 23 489 490 ~\anaconda3\lib\site-packages\torch\_tensor.py in backward (self, gradient, retain_graph, create_graph, inputs) ) riables, inputs) Help in <module> ) inputs=inputs, B Traceback (most recent call last) torch.autograd.backward( self, gradient, retain_graph, create_graph, inputs=inputs ~\anaconda3\lib\site-packages\torch\autograd\__init__.py 195 196 --> 197 198 199 RuntimeError: Found dtype Double but expected Float # some Python versions print out the first line of a multi-line function # calls in the traceback and some print out the last line Trusted in backward (tensors, grad_tensors, retain_graph, create_graph, grad_va Python 3 Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass tensors, grad_tensors_, retain_graph, create_graph, inputs, allow_unreachable=True, accumulate_grad=True) # Calls into the C++ engine to run the backward pass
Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
System Model Approaches
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education