三分钟体验:SpringBoot用深度学习模型识别数字

–rm \

-p 18080:8080 \

-v /home/will/temp/202106/29/images:/app/images \

-v /home/will/temp/202106/29/model:/app/model \

bolingcavalry/dl4j-model-app:0.0.3

  1. 镜像文件有点大(九百多兆…),请您耐心等待,主要是dl4j的依赖库太大了

  2. 当控制台输出如下内容,表示启动成功,并且加载模型成功:

2021-06-29 10:51:55.744 INFO 1 — [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1748 ms

2021-06-29 10:51:55.852 INFO 1 — [ main] c.b.p.service.impl.PredictServiceImpl : load model from [/app/model/minist-model.zip]

2021-06-29 10:51:55.950 INFO 1 — [ main] org.nd4j.linalg.factory.Nd4jBackend : Loaded [CpuBackend] backend

2021-06-29 10:51:58.397 INFO 1 — [ main] org.nd4j.nativeblas.NativeOpsHolder : Number of threads used for linear algebra: 1

2021-06-29 10:51:58.399 WARN 1 — [ main] o.n.l.cpu.nativecpu.CpuNDArrayFactory : *********************************** CPU Feature Check Warning ***********************************

2021-06-29 10:51:58.399 WARN 1 — [ main] o.n.l.cpu.nativecpu.CpuNDArrayFactory : Warning: Initializing ND4J with Generic x86 binary on a CPU with AVX/AVX2 support

2021-06-29 10:51:58.399 WARN 1 — [ main] o.n.l.cpu.nativecpu.CpuNDArrayFactory : Using ND4J with AVX/AVX2 will improve performance. See deeplearning4j.org/cpu for more details

2021-06-29 10:51:58.399 WARN 1 — [ main] o.n.l.cpu.nativecpu.CpuNDArrayFactory : Or set environment variable ND4J_IGNORE_AVX=true to suppress this warning

2021-06-29 10:51:58.399 WARN 1 — [ main] o.n.l.cpu.nativecpu.CpuNDArrayFactory : *************************************************************************************************

2021-06-29 10:51:58.407 INFO 1 — [ main] org.nd4j.nativeblas.Nd4jBlas : Number of threads used for OpenMP BLAS: 1

2021-06-29 10:51:58.411 INFO 1 — [ main] o.n.l.a.o.e.DefaultOpExecutioner : Backend used: [CPU]; OS: [Linux]

2021-06-29 10:51:58.412 INFO 1 — [ main] o.n.l.a.o.e.DefaultOpExecutioner : Cores: [32]; Memory: [7.0GB];

2021-06-29 10:51:58.412 INFO 1 — [ main] o.n.l.a.o.e.DefaultOpExecutioner : Blas vendor: [OPENBLAS]

2021-06-29 10:51:59.076 INFO 1 — [ main] o.d.nn.multilayer.MultiLayerNetwork : Starting MultiLayerNetwork with WorkspaceModes set to [training: ENABLED; inference: ENABLED], cacheMode set to [NONE]

2021-06-29 10:51:59.658 INFO 1 — [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ‘’

2021-06-29 10:51:59.671 INFO 1 — [ main] c.b.p.PredictNumberApplication : Started PredictNumberApplication in 6.474 seconds (JVM running for 7.235)

  • 现在SpringBoot应用启动成功了,我们来试试识别图片的功能,这个应用提供了两个接口,分别可以测试白底黑字和黑底白字

识别白底黑字

  • 准备一张白底黑字的png图片(画图板,截图工具都可以),例如下面这张:

在这里插入图片描述

  • 白底黑字识别服务的地址是IP地址:18080/predict-with-white-background,用postman操作如下图,请按照数字顺序操作1-6,可见输入很简单,就一个字段,返回值就是识别结果,符合预期:

在这里插入图片描述

识别黑底白字

  • 接下来试试黑底白字,准备一张类似下图的png图片:

在这里插入图片描述

  • 黑底白字识别服务的地址是IP地址:18080/predict-with-black-background,用postman操作如下图,请按照数字顺序操作1-6,返回结果是红框8中的数字,符合预期:

在这里插入图片描述

  • 至此,SpringBoot结合深度学习模型的体验已经完成,一分钟概览,一分钟部署,一分钟体验,咱们足够高效(下载九百多兆镜像的时间不能算,不敢算…)

  • 此刻您应该能感受到深度学习的魅力了,聪明的您当然会有很多疑问,例如:

  1. 模型是怎么训练出来的?

  2. java代码中如何使用这个模型?

  3. 这些东西怎么做成docker镜像?

你不孤单,欣宸原创一路相伴

  1. Java系列

  2. Spring系列

  3. Docker系列

  4. kubernetes系列

  5. 数据库+中间件系列

  6. DevOps系列

总结

我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。

面试题多多少少对于你接下来所要做的事肯定有点帮助,但我更希望你能透过面试题去总结自己的不足,以提高自己核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!

面试题多多少少对于你接下来所要做的事肯定有点帮助,但我更希望你能透过面试题去总结自己的不足,以提高自己核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!

[外链图片转存中…(img-dT7REOpq-1714548345865)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值