深度学习框架tensorflow

深度学习

深度学习、强化学习的底层都是神经网络架构。 但是他比机器学习高的地方在于自动化,

他帮你省事,不用从头去构建 神经网络架构 他基于机器学习, 所以深度学习一定是框架。

框架帮你写一些机器学习基础的东西。

违规图片识别

(进行了改进 使用深度学习框架 tensorflow )

tensorflow 国歌开源的

第三方也提供了响应的接口 比如 百度云、 腾讯云 、 阿里云 、但是这些接口每次调用是需要收费的

由于 公司预算不足。 我们选择自研应用,自己造轮子

虽然解决了OpenCV的线性问题,但是他也存在一定是缺陷: 问题在于多元素识别有问题,就是一张原始诊图出现很多元素,很难识别,精细化识别要对图片进行裁剪。

具体流程:和OpenCV一样: 第一步先加载图像 区别是后面就是为深度学习做数据量的处理, 然后转化为特征矩阵,再转换形状,然后转化为向量也就是张量(张量就是把图像的像素或因素转化为0到1之间的浮点数,因为他要计算),然后加载模型我们没有走模型训练这一步原因是:需要输入大量的物体的特征,这个数据没必要搞,因为我们有现成的模型: imagenet 神经网络图形,他列属于ResNet50  的这个库( 这个数据集包含超过 100 万张图片)。 加载后模型之后就可以进行预测,我们需要转换标签 (将矩阵的计算结果 和 实际的物品标签进行匹配) 即可展示识别结果。

import os
import PIL.Image
import numpy as np
import tensorflow as tf
import re

from machine_learning.img_react import Vido_


def predict_images(image_paths):
    # 加载模型
    model = tf.keras.applications.ResNet50(include_top=True, weights='imagenet')

    # 转化为人能理解的标签
    labels_path = '../machine_learning/labels.txt'
    with open(labels_path) as f:
        labels = f.read().splitlines()

    results = []

    # 循环读取每张图片并进行预测
    for image_path in image_paths:
        # 打开图片
        image = PIL.Image.open(image_path)

        # 转换为矩阵
        image_array = np.array(image.convert("RGB"))

        # 将矩阵转换为相同形状
        image_array = tf.image.resize(image_array, size=(224, 224))

        # 转化为张量
        image_tensor = tf.convert_to_tensor(image_array)

        # 修改形状
        image_tensor = tf.expand_dims(image_tensor, axis=0)

        # 预测
        predictions = model.predict(image_tensor)

        # 获取预测结果的标签
        result_label = labels[np.argmax(predictions)]

        # 将本次预测结果添加到总结果列表中
        results.append(result_label)
    return results

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值