制作垃圾分类只要找到合适的数据集,垃圾分类的模型构建并不难。
这里收集了一份关于垃圾分类的数据集,一共有四个大类和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}