【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

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁