手把手教你写垃圾分类系统

制作垃圾分类只要找到合适的数据集,垃圾分类的模型构建并不难。

这里收集了一份关于垃圾分类的数据集,一共有四个大类和245个小类,大类分别是厨余垃圾、可回收物、其他垃圾和有害垃圾,小类主要是垃圾的具体类别,果皮、纸箱等。

按照8比1比1的比例将原始数据集划分成了训练集、验证集和测试集.... ... 为了方便大家使用,已经提前将数据集进行了处理,分享出来给大家

一、对垃圾名称进行过滤

1 // 垃圾名称过滤 2 garbage_name_filter (name) { 3 4 // 如果查询名称为全字母 5 var letter_reg = /^[A-Za-z]+$/ 6 7 // 如果查询名称为全数字 8 var number_reg = /^[0-9]*$/ 9 10 // 如果查询名称为全字母和数字 11 var letter_number_reg = /^[A-Za-z0-9]+$/ 12 13 if (name.trim().length === 0) { 14 console.log('查询类型不能为空'); 15 return 16 } else if (letter_reg.test(name)) { 17 console.log('查询类型不能全字母'); 18 return 19 } else if (number_reg.test(name)) { 20 console.log('查询类型不能全数字'); 21 return 22 } else if (letter_number_reg.test(name)) { 23 console.log('查询类型不能全字母和数字'); 24 return 25 } 26 return name 27 }

二、封装一个初始方法

1 // 初始化方法 2 constructor () { 3 // token 4 this.token = "Z1QljZOZiT4NTG" 5 6 // 请求地址 7 this.req_url = 'http://api.txapi.cn/v1/c/rubbish_classify_query' 8 9 // 垃圾名称 10 this.garbage_name = '' 11 }

到这里框架已经基本搭好了,下边直接上完整代码,复制粘贴即可使用

三、完整代码

1 const axios = require('axios') 2 3class Parse { 4 // 初始化方法 5 constructor () { 6 // token 7 this.token = "Z1QljZOZiT4NTG" 8 9 // 请求地址 10 this.req_url = 'http://api.txapi.cn/v1/c/rubbish_classify_query' 11 12 // 垃圾名称 13 this.garbage_name = '' 14 } 15 16 // 垃圾名称过滤 17 garbage_name_filter (name) { 18 19 // 如果查询名称为全字母 20 var letter_reg = /^[A-Za-z]+$/ 21 22 // 如果查询名称为全数字 23 var number_reg = /^[0-9]*$/ 24 25 // 如果查询名称为全字母和数字 26 var letter_number_reg = /^[A-Za-z0-9]+$/ 27 28 if (name.trim().length === 0) { 29 console.log('查询类型不能为空'); 30 return 31 } else if (letter_reg.test(name)) { 32 console.log('查询类型不能全字母'); 33 return 34 } else if (number_reg.test(name)) { 35 console.log('查询类型不能全数字'); 36 return 37 } else if (letter_number_reg.test(name)) { 38 console.log('查询类型不能全字母和数字'); 39 return 40 } 41 return name 42 } 43 44 // 发送请求 45 send_request (url, token, name) { 46 let p = new Promise(function (resolve, reject) { 47 axios({ 48 url: url, 49 method: 'GET', 50 params: { 51 token: token, 52 name: name 53 } 54 }).then(resp => { 55 if(resp.data.code != 200 && resp.data.msg != "ok"){ 56 console.log("查询失败") 57 } else { 58 resolve(resp.data) 59 } 60 }) 61 }) 62 return p 63 } 64 65 // run函数 66 run (name) { 67 68 // 检测名称是否合法 69 this.garbage_name = this.garbage_name_filter(name) 70 71 if(!this.garbage_name){ 72 return 73 } 74 75 76 var url = this.req_url // token 77 var token = this.token // 请求地址 78 var name = this.garbage_name // 垃圾名称 79 80 this.send_request(url, token, name).then(res => { 81 console.log(res); // 查询结果 82 }) 83 } 84} 85 86if(__filename === process.mainModule.filename) { 87 // new一个Parse对象 88 const p = new Parse() 89 90 // 调用run方法 91 p.run("纸巾") 92}
点赞
收藏

评论区

加载中...

相关推荐

阿里面试被问到【垃圾回收器】,不会怎么办??

垃圾回收器GC分类与性能指标垃圾回收器概述1.垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。2.由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。3.从不同角度分析垃圾收集器,可以将GC分为不同的类型。Java不同版本新特性1.语法层面:Lambda表达式、switch、

js垃圾回收机制原理给你聊的明明白白

前言大多数语言都是提供自动内存管理机制,比如C、Java,JavaScript。自动内存管理机制也就是我们经常听到的垃圾回收机制。好神奇哦,语言会收垃圾,哈哈😄,不过这里的垃圾,可不是家里面的厨余垃圾啥的,而是一些不再使用的变量所占用的内存。我们的js的执行环境会自动对这些垃圾进行回收,也就是释放那些不再使用的变量所占用的内存,收垃圾的过程会按照固定的

【垃圾回收】全面解析,内含面试题及图文详解!!

垃圾回收概述和相关算法1.Java和C语言的区别,就在于垃圾收集技术和内存动态分配上,C语言没有垃圾收集技术,需要程序员手动的收集。2.垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。3.关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候

Java系列笔记

Java垃圾回收概况  JavaGC(GarbageCollection,垃圾收集,垃圾回收)机制,是Java与C/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM(J

JVM系列篇:7种JVM垃圾收集器特点,优劣势、及使用场景

本系列会持续更新。!(https://oscimg.oschina.net/oscnet/945dbe48630eb4284fea936b19161c0f08a.jpg)今天继续JVM的垃圾回收器详解,如果说垃圾收集算法是JVM内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。一、常见的垃圾收集器

Java 内存区域和GC机制

Java垃圾回收概况  JavaGC(GarbageCollection,垃圾收集,垃圾回收)机制,是Java与C/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM