DJL-Java动手学深度学习之线性回归实现

在上一篇文章中,我们已经讲了整个线性回归的数学原理,详细请见 DJL-Java开发者动手学深度学习之线性回归。在这里,我们就用DJL来实现利用线性回归来预测房价。
为了简单起见,我们利用生成数据加随机噪声的方式,来降低我们的学习成本。

生成数据


public static DataPoints syntheticData(NDManager manager, NDArray w, float b, int numExamples) {
   
        NDArray X = manager.randomNormal(new Shape(numExamples, w.size()));
        NDArray y = X.dot(w).add(b);
        // Add noise
        y = y.add(manager.randomNormal(0, 0.01f, y.getShape(), DataType.FLOAT32));
        return new DataPoints(X, y);
    }

定义模型

我们可以 DJL 预定义的 Block。这使我们只需关注使用哪些层来构造模型,而不必关注层的实现细节。我们首先定义一个模型变量net,它是一个 SequentialBlock 类的实例。 SequentialBlock 类为串联在一起的多个层定义了一个容器。当给定输入数据, SequentialBlock 实例将数据传入到第一层,然后将第一层的输出作为第二层的输入,依此类推。

//定义模式,一层神经网络
Model model = Model.newInstance("lin-reg");

SequentialBlock net = 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值