IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 基于Tensorflow实现CNN(猫狗数据集)的各种bug汇集 -> 正文阅读

[人工智能]基于Tensorflow实现CNN(猫狗数据集)的各种bug汇集

作者:recommend-item-box type_blog clearfix

安装Tensorflow和keras遇到的各种奇怪bug

  • 打开Anaconda Prompt
  • 创建虚拟环境并打开虚拟环境
conda create -n tf1 python=3.6
conda activate tf1
jupyter notebook

tf1为自定义虚拟环境名称,python版本可自定义,进入虚拟环境即可开始安装所需要的库或包

  • 安装Tensorflow
    建议安装如下版本,tensorflow2.1.0会报错
pip install tensorflow=2.2.0 
pip install keras==2.4.3  
  • 首先,我尝试使用tensorflow1.14.0版本,出现了问题,
    no module named tensorflow,搜索后,给出的答案五花八门,基本没用,打开conda list,包已经存在了,但是jupyter notebook仍然没有tensorflow包。
  • 于是,找到个解决方案调整jupyter内核,简要描写下:
  • 在Anaconda Prompt中输入jupyter kernelspec list ,显示结果分别为当前已存在的kernel名称和路径。

未添加之前,电脑上只有Python3
在这里插入图片描述

添加之后,
在这里插入图片描述2.打开路径文件夹,打开json文件,
在这里插入图片描述在这里插入图片描述复制python3文件夹整个文件夹,并命名为tf1(即自定义虚拟环境名,保存到同级目录),然后进入tf1文件夹修改json文件如下:在这里插入图片描述
主要修改查询路径和display_name这两个值

  • 重新打开AnacondaPrompt ,输入命令
jupyter kernelspec list

若多了一个你自己定义的内核,即创建成功。

  • 打开jupyter,调用该kernel
    在这里插入图片描述5.但是又遇到一个bug,内核连接一直失败,提示报错信息为修改C盘到D盘中,因为我的D盘装的Anaconda,可能路径识别不了,后续,我在D盘重新创建JupyterNotebook,重复步骤后,依然失败,再次提示缺少启动包,报错如下:Kernel started:No module named ipykernel_launcher,找到解决办法如下:

  • 首先找到上述修改的json文件,查看文件路径

  • 再找到该所在文件夹,在其同级文件夹中,找到Script文件夹,找到有pip.exe的文件夹

  • 在输入WIn + cmd,进入该文件夹,输入

pip install ipykernel

安装完成后,重启notebook,发现服务器连接成功
注意:不要直接下载,必须在该文件夹中下载启动包才行

6.在jupyternotebook中输入import tensorflow,不报错,但是,输入import keras却报错,如下:module ‘tensorflow.compat.v2‘ has no attribute ‘__internal__‘,在tensorflow1.14等低版本中,我尝试对于该问题的报错如下:AttributeError: module 'tensorflow._api.v1.compat.v2' has no attribute '__internal__'
搜索的解决办法为from tensorflow.compat.v1 import keras ,原因可能是tensorflow1.x和2.x存在一些版本问题。
对于上述问题,我经过长达数小时的搜索尝试(包括卸载重装修改版本等方法),发现了一种新的解决办法,如下:
在所有Keras包前,全部加上 tensorflow. 即可。
例如:在这里插入图片描述至此,tensorflow和keras可以完全正常运行。

猫狗数据集百度网盘链接

链接:https://pan.baidu.com/s/1QI037L42e1FokaKB2zxUQA
提取码:bjvu
kaggle网站的数据集下载地址:
https://www.kaggle.com/lizhensheng/-2000

学习CNN训练该数据集时,遇到的bug

解决链接:原方案搬运
模型训练时bug:

Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches (in this case, 3000 batches). You may need to use the repeat() function when building your dataset.

源代码:

history = model.fit(
    train_generator,
    steps_per_epoch=100,
    epochs=100,
    validation_data=validation_generator,
    validation_steps=50)

以上是出错代码,使用的训练样本数为2000,验证样本数为1000,batch_size=32,出错是因为steps_per_epoch和validation_steps的取值错误。

正确取值应该为steps_per_epoc=2000/32=63,validation_steps=1000/32=32,均取上限。

计算依据:

每个轮次应该包含整个训练数据集,即每轮次2000个训练集的数据量。但这2000个数据是分批给模型的,每批32个(batch_size=32),因此需要给2000/32=63批。即

steps_per_epoch=num_training_examples/batch_size。拿这个值的上限来说。
同理validation_steps=1000/32=32

epochs:使用整个数据集训练模型的次数,规定的2000个数据训练100轮,这个数据不变。
代码应该修改为:

history = model.fit(
    train_generator,
    steps_per_epoch=63,
    epochs=100,
    validation_data=validation_generator,
    validation_steps=32)

比较好的学习CNN(猫狗数据集博客),链接:
链接一
链接二

参考链接

  1. 链接一
  2. 链接二
  3. 链接三
  4. 链接四
  5. 链接五
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:38:15  更:2021-07-31 16:41:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 10:14:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码