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

Mebius
• 阅读 179

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

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

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

一、对垃圾名称进行过滤

  // 垃圾名称过滤
  garbage_name_filter (name) {

    // 如果查询名称为全字母
    var letter_reg = /^[A-Za-z]+$/

    // 如果查询名称为全数字
    var number_reg = /^[0-9]*$/

    // 如果查询名称为全字母和数字
    var letter_number_reg = /^[A-Za-z0-9]+$/

    if (name.trim().length === 0) {
      console.log('查询类型不能为空');
      return
    } else if (letter_reg.test(name)) {
      console.log('查询类型不能全字母');
      return
    } else if (number_reg.test(name)) {
      console.log('查询类型不能全数字');
      return
    } else if (letter_number_reg.test(name)) {
      console.log('查询类型不能全字母和数字');
      return
    }
    return name
  }

二、封装一个初始方法

  // 初始化方法
  constructor () {
    // token
    this.token = "Z1QljZOZiT4NTG"

    // 请求地址
    this.req_url = 'http://api.txapi.cn/v1/c/rubbish_classify_query'

    // 垃圾名称
    this.garbage_name = ''
  }

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

三、完整代码

  const axios = require('axios')

class Parse {
  // 初始化方法
  constructor () {
    // token
    this.token = "Z1QljZOZiT4NTG"

    // 请求地址
    this.req_url = 'http://api.txapi.cn/v1/c/rubbish_classify_query'

    // 垃圾名称
    this.garbage_name = ''
  }

  // 垃圾名称过滤
  garbage_name_filter (name) {

    // 如果查询名称为全字母
    var letter_reg = /^[A-Za-z]+$/

    // 如果查询名称为全数字
    var number_reg = /^[0-9]*$/

    // 如果查询名称为全字母和数字
    var letter_number_reg = /^[A-Za-z0-9]+$/

    if (name.trim().length === 0) {
      console.log('查询类型不能为空');
      return
    } else if (letter_reg.test(name)) {
      console.log('查询类型不能全字母');
      return
    } else if (number_reg.test(name)) {
      console.log('查询类型不能全数字');
      return
    } else if (letter_number_reg.test(name)) {
      console.log('查询类型不能全字母和数字');
      return
    }
    return name
  }

  // 发送请求
  send_request (url, token, name) {
    let p = new Promise(function (resolve, reject) {
        axios({
          url: url,
          method: 'GET',
          params: {
              token: token,
              name: name
          }
        }).then(resp => {
          if(resp.data.code != 200 && resp.data.msg != "ok"){
              console.log("查询失败")
          } else {
            resolve(resp.data)
          }
        })
    })
    return p
  }

  // run函数
  run (name) {

    // 检测名称是否合法
    this.garbage_name = this.garbage_name_filter(name)

    if(!this.garbage_name){
        return
    }


    var url = this.req_url // token
    var token = this.token // 请求地址
    var name = this.garbage_name // 垃圾名称

    this.send_request(url, token, name).then(res => {
      console.log(res); // 查询结果
    })
  }
}

if(__filename === process.mainModule.filename) {
  // new一个Parse对象
  const p = new Parse()

  // 调用run方法
  p.run("纸巾")
}
点赞
收藏
评论区
推荐文章
灯灯灯灯 灯灯灯灯
2年前
阿里面试被问到【垃圾回收器】,不会怎么办??
垃圾回收器GC分类与性能指标垃圾回收器概述1.垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。2.由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。3.从不同角度分析垃圾收集器,可以将GC分为不同的类型。Java不同版本新特性1.语法层面:Lambda表达式、switch、
Symbol卢 Symbol卢
2年前
js垃圾回收机制原理给你聊的明明白白
前言大多数语言都是提供自动内存管理机制,比如C、Java,JavaScript。自动内存管理机制也就是我们经常听到的垃圾回收机制。好神奇哦,语言会收垃圾,哈哈😄,不过这里的垃圾,可不是家里面的厨余垃圾啥的,而是一些不再使用的变量所占用的内存。我们的js的执行环境会自动对这些垃圾进行回收,也就是释放那些不再使用的变量所占用的内存,收垃圾的过程会按照固定的
灯灯灯灯 灯灯灯灯
2年前
【垃圾回收】全面解析,内含面试题及图文详解!!
垃圾回收概述和相关算法1.Java和C语言的区别,就在于垃圾收集技术和内存动态分配上,C语言没有垃圾收集技术,需要程序员手动的收集。2.垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。3.关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候
Wesley13 Wesley13
2年前
Java系列笔记
Java垃圾回收概况  JavaGC(GarbageCollection,垃圾收集,垃圾回收)机制,是Java与C/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM(J
Stella981 Stella981
2年前
JVM系列篇:7种JVM垃圾收集器特点,优劣势、及使用场景
本系列会持续更新。!(https://oscimg.oschina.net/oscnet/945dbe48630eb4284fea936b19161c0f08a.jpg)今天继续JVM的垃圾回收器详解,如果说垃圾收集算法是JVM内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。一、常见的垃圾收集器
Wesley13 Wesley13
2年前
Java 内存区域和GC机制
Java垃圾回收概况  JavaGC(GarbageCollection,垃圾收集,垃圾回收)机制,是Java与C/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM
Wesley13 Wesley13
2年前
AI大有可为:NAIE平台助力垃圾分类
摘要:生活垃圾的分类和处理是目前整个社会都在关注的热点,如何对生活垃圾进行简洁高效的分类与检测对垃圾的运输处理至关重要。AI技术在垃圾分类中的应用成为了关注焦点。如今AI已经是这个时代智能的代名词了,任何领域都有AI的身影,垃圾分类及监管等场景自然也少不了“AI”的赋能。不过,垃圾往往属于商品的极端变形体,情况比较特殊。目前的技术在视觉
Stella981 Stella981
2年前
JVM笔记(4)
第三章垃圾收集器和内存分配策略  第三节垃圾收集算法   1.分类:引用计数式垃圾收集(直接垃圾收集) 和追踪式垃圾收集(间接垃圾收集)   2.分代收集理论:1)弱分代假说:主要是一些朝生夕灭的对象。                 2)强分代假说:这里是一些可以熬过多次垃圾收集器收集的
Stella981 Stella981
2年前
JVM高级特性与实践:垃圾收集算法 与 垃圾收集器实现
!(https://oscimg.oschina.net/oscnet/dc8d0b2075424669b5a38d39f7259dc6.gif)内存回收与垃圾收集器在很多时候都是影响系统性能、并发能力的主要因素之一垃圾收集算法由于垃圾收集算法中涉及到大量的程序细节,而且每个平台的虚拟机操作内存的方法又不同,因此关于
Stella981 Stella981
2年前
JVM的GC算法总结
Java程序在运行过程中,会产生大量的内存垃圾(一些没有引用指向的内存对象都属于内存垃圾,因为这些对象已经失去标记,程序用不了它们了,对程序而言它们已经废弃),为了确保程序运行时的性能,java虚拟机在程序运行的过程中不断地进行自动的垃圾回收(GC),这就是我们的垃圾回收机制,关于垃圾回收我总结了一下几种:标记–清除算法(MarkSweep)