猫狗识别之BUG汇总

ops/2024/11/17 2:55:14/

一、github登不上去问题
下载watt toolkit 下载地址:https://steampp.net/
可以下载后加速,访问github

二、猫狗总体参考核心
B哥的博客
https://github.com/bubbliiiing/classification-keras?tab=readme-ov-file

三、CSDN很多会员才能阅读问题

根据这个大佬的博客可以解决会员观看问题
总结就是用插件去解决
https://www.leonx.cn/archives/38/

四、图片分类
我有两万五图片大佬忘记分两个文件夹-我可以选择手动比较累,也没技术,我根据大佬

https://blog.csdn.net/weixin_45181512/article/details/129613604
这篇文章解决
会员才能阅读,可以使用上述方法解决
一分二

import os
import shutil# 设置文件路径
file_path = r"D:\Pycharm\train"# 遍历目录下的所有文件
for file_name in os.listdir(file_path):# 判断当前路径是否为文件夹if os.path.isdir(os.path.join(file_path, file_name)):continue# 获取文件名和扩展名name, ext = os.path.splitext(file_name)# 用切片根据文件名判断文件类型# 使用了切片出的前五个字符来作为文件夹的名称,并将文件移动到对应的文件夹中。type_str = name[:2]folder_path = os.path.join(file_path, type_str)# 用split根据文件名判断文件类型# 使用split函数以符号“_”作为分隔符,将文件名分割成多个字符串,然后使用第一个字符串作为文件夹名称。# type_str = name.split("_")[0]# folder_path = os.path.join(file_path, type_str)# 如果文件夹不存在,则创建if not os.path.exists(folder_path):os.mkdir(folder_path)# 拼接文件路径file_path_new = os.path.join(folder_path, file_name)# 判断目标路径中是否已经存在同名文件if os.path.exists(file_path_new):print(f"File {file_name} already exists in folder {type_str}")else:# 移动文件到对应的文件夹中shutil.move(os.path.join(file_path, file_name), file_path_new)print(f"File {file_name} moved to folder {type_str}")

五、将代码封装成为exe

使用清华源下载
pip install -i https://mirrors.aliyun.com/pypi/simple/ pyinstaller

执行
Pyinstaller -F _你py文件名字.py

执行完毕会发现生成了几个文件夹,打开其中名为dist的文件夹。

六、多文件各自分类单独文件夹

import os
from PIL import Image# 打开源文件夹
src_folder = "D:/Pycharm/train"
filelist = os.listdir(src_folder)# 循环遍历源文件夹中的图片
for filename in filelist:# 跳过非图片文件if not filename.endswith('.jpg') and not filename.endswith('.png'):continue# 获取图片分类标签label = filename.split('.')[0:2]#print(label)# 打开图片文件img = Image.open(os.path.join(src_folder, filename))# 新建子文件夹dst_folder = f'{label}s'if not os.path.exists(dst_folder):os.makedirs(dst_folder)# 复制文件到目标文件夹dst_path = os.path.join(dst_folder, filename)img.save(dst_path)

七、安装库包命令
pip install -r requirements.txt

八、看B哥的初代猫狗cpu版本的至于后来的GPU错误太多明天在整
https://blog.csdn.net/weixin_44791964/article/details/102779878?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522A304EEFE-919C-42B3-88A6-3430E7E3355A%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=A304EEFE-919C-42B3-88A6-3430E7E3355A&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-2-102779878-null-null.nonecase&utm_term=%E7%8C%AB%E7%8B%97&spm=1018.2226.3001.4450

九、keras内部版本问题
直接暴力导入
请添加图片描述

十、版本问题tf请添加图片描述
十一、路径问题
在这里插入图片描述
在这里插入图片描述
标签和图片要对应好

‘十二、导库的问题
在这里插入图片描述

十三、训练成功开始迭代
在这里插入图片描述


http://www.ppmy.cn/ops/134314.html

相关文章

电子应用产品设计方案-9:全自动智能马桶系统设计方案

一、系统概述 本全自动智能马桶系统旨在提供舒适、卫生、便捷和智能化的如厕体验。通过融合多种传感器技术、电子控制单元和机械执行机构,实现马桶的自动冲洗、座圈加热、臀部清洗、烘干等功能,并具备智能感应、用户个性化设置和健康监测等特色功能。 二…

Redis中的过期删除与内存淘汰

1.Redis中的过期删除策略 在 Redis 中,过期删除策略是为了管理存储在 Redis 中的带有过期时间的数据。每当数据存储时,可能会为其设定一个过期时间。当到达这个时间点后,该数据就被标记为“过期”。为了确保不再需要的过期数据不会占用系统资…

ARM-Linux嵌入式开发环境搭建

平台: PC: VMware CentOs6.3 内核版本:linux2.6.32 Qt: : Qt4.8.2(32b) 一、qt的版本介绍 按照不同的图形界面来划分,分为四个版本: Win32版:适用于windows平台; X11版:适用…

MySQL5.7.37安装配置

1.下载MySQL软件包并解压 2.配置环境变量 3.新建my.ini文件并输入信息 [mysqld] #端口号 port 3306 #mysql-5.7.27-winx64的路径 basedirC:\mysql-5.7.37\mysql-5.7.37-winx64 #mysql-5.7.27-winx64的路径\data datadirC:\mysql-5.7.37\mysql-5.7.37-winx64\data #最大连接数…

vue 中监听页面尺寸变化就调用函数

方法一:使用 window.onresize 结合 Vue 实例的生命周期钩子(不推荐,存在覆盖风险) 虽然可以直接使用原生的 window.onresize 事件来监听窗口大小变化,但这种方式在 Vue 项目中有一些局限性,因为如果在多个…

Leetcode 罗马数字转整数

代码的算法思想可以分为以下几步: 建立映射表: 首先,代码使用 HashMap 来存储罗马数字字符与其对应的整数值关系。例如,I 对应 1,V 对应 5,以此类推。这是为了方便后续快速查找每个罗马字符对应的整数值。 …

centos7 安装rabbitMQ3.7.15

RabbitMQ是一个开源的消息代理软件,主要用于在不同的应用程序之间进行异步通信。‌它遵循AMQP协议,提供了稳定可靠的消息传输服务,具有可靠性、灵活性、可扩展性和多语言支持等特点,因此在分布式系统、微服务架构等场景中得到了广…

odoo-040 odoo17前端的js方法调用后端py方法action报错

文章目录 问题描述梳理写法xml写法前端方法后端action的写法 错误解释 问题描述 在前端的kanban视图上添加了几个自定义按钮,按钮点击可以跳转到对应的tree视图,在写按钮调用方法的时候报错如下: 前端调用后端action报错: actio…