【tensorflow】windows下搭建tensorflow-slim网络进行目标分类(安装配置+使用教程+问题总结)

本文主要是介绍【tensorflow】windows下搭建tensorflow-slim网络进行目标分类(安装配置+使用教程+问题总结),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0.(可选)下载cuda,cudnn

若是想GPU跑深度学习,有英伟达显卡
关于版本的选择,要关注自身显卡驱动能支持的最高CUDA版本。
下载cuda地址:
CUDA10.1版本:https://developer.nvidia.com/cuda-10.1-download-archive-base
下载cudnn
cuDNN是一个SDK,是一个专门用于神经网络的加速包,注意,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应,但一般有一个最新版本的cuDNN版本与CUDA对应更好。
这里下载的是cudnn7.6.5,官网地址:https://developer.nvidia.com/cudnn
下载完压缩包并解压:里面有3个文件夹:
在这里插入图片描述
复制,并粘贴到cuda的安装目录,
一般是:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
然后合并:
在这里插入图片描述

1.windows下安装anaconda

官网下载anaconda
https://www.anaconda.com/products/individual
一般下载的都是最新版本

安装anaconda
点击安装程序安装
在这里插入图片描述
上面是添加path系统环境变量,不勾选就需要自己来手动添加。可以认真看一下英文注解;
下面勾选就是把anaconda位置作为默认的python3的地址;

若没有勾选环境变量,手动添加可以参考以下(版本不同可能会不一样):
在这里插入图片描述
cmd打开终端,输入conda --version检验有没有安装成功

2.创建虚拟环境:

打开Anaconda Prompt:
在这里插入图片描述
更换国内源

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

下载一个python为3.7的虚拟环境:
输入:conda create -n tensorflow python=3.7
等待下载完毕,(虚拟环境在anaconda目录下envs目录下)
在这里插入图片描述

3.下载pycharm

http://www.jetbrains.com/pycharm/download/#section=windows

4.下载tensorflow-slim模块

github地址:https://github.com/tensorflow/models
若下载速度过慢,可采用gitee的方式下载:
1.将需要的tenforflow资源fork到自己的GitHub账号上;
在这里插入图片描述
2.注册gitee账号,关联gitee和github账号
3.选择添加仓的方式添加GitHub的fork资源:

在这里插入图片描述在这里插入图片描述然后下载tensorflow-models软件包

5.使用pycharm打开tensorflow-slim

slim项目的相对位置:\research\slim
在这里插入图片描述

6.设置虚拟环境:

打开pycharm上File -> settings:
在这里插入图片描述
选择到Project:slim 下的 Project Interpreter,可以不采用原有的环境,选择自己创建的虚拟环境
在这里插入图片描述在这里插入图片描述在这里插入图片描述然后找到自己创建的模拟环境的路径
4ubmV0L3NhemFzcw==,size_16,color_FFFFFF,t_70)
然后确认即可。

若是该虚拟环境没有安装tensroflow,可以pip下载:
在pycharm窗口的下方点击Terminal,然后利用pip下载tensorflow:

pip install tensorflow-gpu==2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

下载完之后就可以在Project Interpreter内找到已经下载的包:在这里插入图片描述

7.tensorflow模块的简单说明:

待更新······

8.在运行tensorflow的一些问题总结:

1.AttributeError: module ‘tensorflow’ has no attribute ‘Session’
原因:在新的Tensorflow 2.0版本中已经移除了Session这一模块
解决方案:

tf.Session() 更换为 tf.compat.v1.Session()

2.ImportError: No module named ‘contextlib2’

解决方案:
下载contextlib2,可以直接在pycharm上下载:

在这里插入图片描述在这里插入图片描述或者终端下载:pip install contextlib2

3.ImportError: No module named 'PIL'

解决方案:
终端下载:pip install pillow

注:下载一般突然结束,并出现大量红字,应该是超时的问题,一般来说重新运行指令即可继续下载,若速度过满或文件过大造成反复超时,可采用国内源,

pip install pillow -i https://pypi.doubanio.com/simple/

4.AttributeError: module 'tensorflow' has no attribute 'flags'

类似:tf.flags.DEFINE_float,tf.flags.DEFINE_string会报错,找不到flags;
原因:tf.flags.DEFINE_float()是tensorflow1的用法,在tensorflow2里不可直接这样写,需要加上.compat.v1.app
解决方案:
整体上改为:tf.compat.v1.app.flags.DEFINE_float
在这里插入图片描述
在这里插入图片描述

5.AttributeError: module 'tensorflow' has no attribute 'gfile'

跳转之后这里出了问题:

  if not tf.gfile.Exists(dataset_dir):tf.gfile.MakeDirs(dataset_dir)

问题产生的原因:在当前的版本中,gfile已经定义在io包的file_io.py中。
解决方法:修改如下:

  if not tf.io.gfile.exists(dataset_dir):tf.io.gfile.makeDirs(dataset_dir)

还要注意函数大小写!!

这篇关于【tensorflow】windows下搭建tensorflow-slim网络进行目标分类(安装配置+使用教程+问题总结)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/322576

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java中StopWatch的使用示例详解

《Java中StopWatch的使用示例详解》stopWatch是org.springframework.util包下的一个工具类,使用它可直观的输出代码执行耗时,以及执行时间百分比,这篇文章主要介绍... 目录stopWatch 是org.springframework.util 包下的一个工具类,使用它

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接