TensorFlow卷积神经网络实现,图片与对应标签的拟合。一直显示卡在正在运行。 10C

#python3代码
#TensorFlow卷积神经网络实现,图片与对应标签的拟合
#程序不报错,一直显示正在运行
#请问错在哪里?
#数据集 https://pan.baidu.com/s/1Z7_ULAW3LFrUk4WkHC0s3Q

import os
import numpy as np
from PIL import Image
import tensorflow as tf
import matplotlib.pyplot as plt

#-------------获取数据集,构造批数据:batch-----------------------------------------

def get_files(file_dir):
pictures = []
numbers = []

for file in os.listdir(file_dir): # 7000.jpg
    name = file.split(sep='.')
    pictures.append(file_dir+"\\"+file)
    numbers.append(name[0])

print('There are %d pictures'%(len(pictures)))


temp = np.array([pictures,numbers])
temp = temp.transpose()
np.random.shuffle(temp)

pictures_list = list(temp[:,0])
numbers_list = list(temp[:,1])

#numbers_list = [int(float(i)) for i in numbers_list]

return  pictures_list,numbers_list
#返回两个list

def get_batch(image,label,image_W,image_H,batch_size,capacity): # image = pictures label = numbers
image = tf.cast(image,tf.string)
label = tf.cast(label,tf.int32)
#tf.cast()用来做类型转换

input_queue = tf.train.slice_input_producer([image,label])
#加入队列
label = input_queue[1]

image_contents = tf.read_file(input_queue[0])
image = tf.image.decode_jpeg(image_contents,channels=3)

#jpeg或者jpg格式都用decode_jpeg函数,其他格式可以去查看官方文档

image = tf.image.resize_image_with_crop_or_pad(image,image_W,image_H)
#resize

image = tf.image.per_image_standardization(image)
#对resize后的图片进行标准化处理

image_batch,label_batch = tf.train.batch([image,label],batch_size = batch_size,num_threads=16,capacity = capacity)

label_batch = tf.reshape(label_batch,[batch_size])



return image_batch,label_batch
#获取两个batch,两个batch即为传入神经网络的数据

#-----------卷积神经网络节点,搭建卷积神经网络----------------------------------------------------

def conv_op(input_op,name,kh,kw,n_out,dh,dw):
n_in = input_op.get_shape()[-1].value

with tf.name_scope(name) as scope:
    kernel=tf.get_variable(scope+"w",
        shape=[kh,kw,n_in,n_out],dtype=tf.float32,
        initializer=tf.contrib.layers.xavier_initializer_conv2d())

    conv=tf.nn.conv2d(input_op,kernel,(1,dh,dw,1),padding='SAME')
    bias_init_val=tf.constant(0.0,shape=[n_out],dtype=tf.float32)
    biases=tf.Variable(bias_init_val,trainable=True,name='b')
    z=tf.nn.bias_add(conv,biases)
    activation=tf.nn.relu(z,name=scope)
    return activation

def fc_op(input_op,name,n_out):
n_in=input_op.get_shape()[-1].value

with tf.name_scope(name) as scope:
    kernel = tf.get_variable(scope+"w",shape=[n_in,n_out],
            dtype=tf.float32,
            initializer=tf.contrib.layers.xavier_initializer())
    biases=tf.Variable(tf.constant(0.1,
            shape=[n_out],dtype=tf.float32),name='b')
    activation=tf.nn.relu_layer(input_op,kernel,biases,name=scope)
    return activation

def fc_end_layer(inputs,in_size,out_size,activation_function=None):
Weights=tf.Variable(tf.random_normal([in_size,out_size]))
biases=tf.Variable(tf.zeros([1,out_size])+0.1)

Wx_plus_b=tf.matmul(inputs,Weights)+biases

if activation_function is None:
    outputs=Wx_plus_b
else:
    outputs=activation_function(Wx_plus_b)
return outputs

def mpool_op(input_op,name,kh,kw,dh,dw):
return tf.nn.max_pool(input_op,ksize=[1,kh,kw,1],
strides=[1,dh,dw,1],padding='SAME',name=name)

def inference_op(input_op,keep_prob):

conv1_1=conv_op(input_op,name="conv1_1",kh=3,kw=3,n_out=64,dh=1,
                dw=1)
conv1_2=conv_op(conv1_1,name="conv1_2",kh=3,kw=3,n_out=64,dh=1,
                dw=1)
pool1=mpool_op(conv1_2,name="pool1",kh=2,kw=2,dw=2,dh=2)


conv2_1=conv_op(pool1,name="conv2_1",kh=3,kw=3,n_out=128,dh=1,
                dw=1)
conv2_2=conv_op(conv2_1,name="conv2_2",kh=3,kw=3,n_out=128,dh=1,
                dw=1)
pool2=mpool_op(conv2_2,name="pool2",kh=2,kw=2,dh=2,dw=2)


conv3_1=conv_op(pool2,name="conv3_1",kh=3,kw=3,n_out=256,dh=1,
                dw=1)
conv3_2=conv_op(conv3_1,name="conv3_2",kh=3,kw=3,n_out=256,dh=1,
                dw=1)
conv3_3=conv_op(conv3_2,name="conv3_3",kh=3,kw=3,n_out=256,dh=1,
                dw=1)
pool3=mpool_op(conv3_3,name="pool3",kh=2,kw=2,dh=2,dw=2)


conv4_1=conv_op(pool3,name="conv4_1",kh=3,kw=3,n_out=512,dh=1,
                dw=1)
conv4_2=conv_op(conv4_1,name="conv4_2",kh=3,kw=3,n_out=512,dh=1,
                dw=1)
conv4_3=conv_op(conv4_2,name="conv4_3",kh=3,kw=3,n_out=512,dh=1,
                dw=1)
pool4=mpool_op(conv4_3,name="pool4",kh=2,kw=2,dh=2,dw=2)


conv5_1=conv_op(pool4,name="conv5_1",kh=3,kw=3,n_out=512,dh=1,
                dw=1)
conv5_2=conv_op(conv5_1,name="conv5_2",kh=3,kw=3,n_out=512,dh=1,
                dw=1)
conv5_3=conv_op(conv5_2,name="conv5_3",kh=3,kw=3,n_out=512,dh=1,
                dw=1)
pool5=mpool_op(conv5_3,name="pool5",kh=2,kw=2,dw=2,dh=2)


shp=pool5.get_shape()
flattened_shape=shp[1].value*shp[2].value*shp[3].value
resh1=tf.reshape(pool5,[-1,flattened_shape],name="resh1")

fc6=fc_op(resh1,name="fc6",n_out=4096)
fc6_drop=tf.nn.dropout(fc6,keep_prob,name="fc6_drop")

fc7=fc_op(fc6_drop,name="fc7",n_out=4096)
fc7_drop=tf.nn.dropout(fc7,keep_prob,name="fc7_drop")

fc8=fc_op(fc7_drop,name="fc8",n_out=1000)
prediction=fc_end_layer(fc8,1000,1,activation_function=None)

return prediction

#---------构造损失节点:loss 优化节点:optimizer 训练节点:train---------------------------------------

x=tf.placeholder(tf.float32,[None,28,28,3])
y=tf.placeholder(tf.float32,[None,1])

prediction = inference_op(x,0.5)

loss = tf.reduce_mean(tf.square(y - prediction))
optimizer = tf.train.GradientDescentOptimizer(0.5)

train = optimizer.minimize(loss)

#--------运行网络--------------------------------------------------

IMG_W = 28
IMG_H = 28
BATCH_SIZE = 4
CAPACITY = 24
MAX_STEP = 100
learning_rate = 0.0005
train_dir = 'D:\VGGNet-16\fatigue_cycle_picture'

pictures_list,numbers_list = get_files(train_dir)
image_batch,label_batch = get_batch(pictures_list,numbers_list,IMG_W,IMG_H,BATCH_SIZE,CAPACITY)
#label_batch=tf.to_float(label_batch)

sess = tf.Session()
sess.run(tf.global_variables_initializer())

for i in range(100):
print(i)

print(sess.run(image_batch))
sess.run(train,feed_dict={x:image_batch.eval(session=sess),y:label_batch.eval(session=sess)})

sess.close()

1个回答

通过summary添加日志输出,放到tensorboard里面看下

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
win7一直卡在正在启动windows
win7一直卡在正在启动windows是什么原因 发现电脑开机时在启动界面卡住,怎么办呢?小伙伴们可以使用以下的方法来解决这个问题 方法一: 由于Windows7不完全支持UEFI,需要CSM(Compatibility Support Module)支持,也就是Legacy BIOS的支持。可以用以下的方法: 1、进入BIOS,将BIOS中OS Optimized设置为Others或Disabl...
Win7一直卡在正在关机的界面
我这一台电脑,上面连着罗技的C270摄像头。rnrn然后只要是任何打开了摄像头的程序被从任务管理器里强行杀进程之后,就会关不了机。rn具体表现为:一直在正在关节的界面上转圈圈。rnrn请问这是什么情况,或者是不是做某些设置可以解决该问题?
tensorflow实现非线性拟合
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis] # 使得维度为[200, 1] noise = np.random.normal(0, 0.02, x_data.shape) # 维度为...
TensorFlow 实战之实现卷积神经网络
   本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过。 一、相关性概念   1、卷积神经网络(ConvolutionNeural Network,CNN)             19世纪60年代科学家最早提出感受野(ReceptiveField)。当时通过对猫视觉皮层细胞研究,科学家发现每一个视觉神经...
tensorflow实现卷积神经网络手写数字识别
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_datamnist=input_data.read_data_sets('MNIST_data',one_hot=True)batch_size=100#批次大小 n_batch=mnist.train.num_examples//batch_...
TensorFlow实现卷积神经网络
卷积神经网络能够自动从图像中提取有用的特征,并在图像分类领域取得了巨大的成功,关于卷积神经网络的理论网上已经有很多,这里主要是关于其实现部分。虽然以前使用Theano框架实现过,但因为最近项目需要使用TensorFlow框架,这里则采用tensorflow实现该模型。总的来说,同Theano类似,TensorFlow也采用的是张量流图的形式编程,确定出输入变量和输出变量的关系后,在Session中...
TensorFlow之CNN卷积神经网络的实现
下载MNIST数据集(28*28,输入维度为784) import tensorflow as tf #下载MNIST数据集(28*28,输入维度为784) from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('MNIST_data', one_hot=Tr...
TensorFlow实现卷积神经网络(进阶)
此模型中如果使用100k个batch,并结合学习速率的decay(即每隔一段时间将学习速率下降一个比率),正确率可以高达86%。模型中需要训练的参数约为100万个,而预测时需要进行的四则运算总量在2000万次左右。所以这个卷积神经网络模型中,使用一些技巧。 (1)对weight进行L2的正则化。 (2)对图片进行翻转,随机剪切等数据增强,制造更多样本。 (3)在每个卷积-最大池化层后面使用LR
tensorflow实现卷积神经网络
卷积神经网络的简介: 相对于传统的图像分类,卷积神经网络(Convolutional Neural Network, CNN)提取的特征能够达到很好的效果,同时不需要将特征提取和分类训练两个过程分开。 CNN的构成: (1)输入层,在CNN中,输入层与全连接网络的输入层类似,是一张图像的像素矩阵。 (2)卷积层,它是CNN中最重要的组成部分,卷积层中每一个节点的输入只是上一层神经网络的一小...
TensorFlow实现卷积神经网络CNN
#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Created on Thu Jun 15 09:38:57 2017 @author: xyzheng """ from tensorflow.examples.tutorials.mnist import input_data import tensorflow as t
TensorFlow 实现卷积神经网络(Basic)
在之前的学习中,已经阅读完了《面向机器智能的Tensorflow实践》一书,总体来看,入门而言此书还是值得一读的,但是其Tensorflow库过于陈旧了,许多模块发生了很大的变化,诸如summary, multiply等等,调代码很花时间,所以不很推荐这本书的代码。作为进阶,目前开始阅读TensorFlow实战一书,此文也是基于该书的第五章节而写作的。
卷积神经网络的tensorflow实现
本章介绍卷积神经网络相关的知识
卷积神经网络验证码识别tensorflow实现
使用卷积神经网络实现验证码识别,识别的验证码为四位,其中每位为大小写字母和数字中的任意一个。准确率达到97+%
深度学习---卷积神经网络+tensorflow实现
开了个新坑,想写很久了,就是一直没有整块的时间,今天终于。。。来来来,小手动起来~ 磨刀不误砍柴工,先去复习一下传统的神经网络,https://blog.csdn.net/aBIT_Tu/article/details/82456016 目录 一、卷积 (Convolution)和它的小伙伴们 1. 卷积是谁 2. 好朋友padding 3. 好朋友Stride 4. 遇见漂亮的彩色...
tensorflow 下CNN卷积神经网络实现
tensorflow 下CNN卷积神经网络实现 简介:卷积神经网络原理其实就是基于感受野,感受野讲的是只需识别某个图片的一个小区域就知道有某个东西。比如,在一个会议室里,要识别里面是否有投影仪,只需要看放投影仪的那部分小区域就知道这个会议室有投影仪。在卷积神经网络中也是通过卷积和池化来减少计算的复杂度,正式基于感受野的原理。 什么是卷积神经网络?我们以奠基之作Lenet-5为例子 上图中
Tensorflow实现卷积神经网络
\quad如果不明白什么是卷积神经网络,请参考:计算机视觉与卷积神经网络 下面基于开源的实现简单梳理如何用tensorflow实现卷积神经网络.实现卷积神经网络加载数据集# 加载数据集 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_d
TensorFlow实现CNN
TensorFlow是目前深度学习最流行的框架,很有学习的必要,下面我们就来实际动手,使用TensorFlow搭建一个简单的CNN,来对经典的mnist数据集进行数字识别。 如果对CNN还不是很熟悉的朋友,可以参考:Convolutional Neural Network。 下面就开始。 step 0 导入TensorFlow 1 import tensorflow a...
tensorflow实现简单的卷积神经网络
import input_data import tensorflow as tf mnist = input_data.read_data_sets("D:\python\project\deeplearn_dairy\AutoEncoder\MNIST_data", one_hot=True) # 创建默认的Interactive Session sees = tf.InteractiveS
tensorflow卷积神经网络实现手写识别
http://scs.ryerson.ca/~aharley/vis/conv/  很炫酷的一个手写识别网站
tensorflow 经典卷积神经网络的实现
tensorflow 经典卷积神经网络的实现
使用Tensorflow实现卷积神经网络进行手写数字识别
一、卷积神经网络 卷积神经网络CNN是多层神经网络的一个变种,传统的多层神经网络,当隐层数变多时,节点数目过多时就会造成参数个数过多,训练难度极大。这时会想,如果在该网络中藏有一种深层的神经网络模型,在该模型中,参数个数可以得到削减,且不影响模型的精度。这就是卷积神经网络。 1、卷积神经网络的核心概念 为了减少参数的个数,提出了以下三个概念: (1)稀疏连接(sparse connectivity...
Tensorflow实现简单卷积神经网络
CNN作为一个深度学习框架结构被提出的最初诉求,是用来降低对图像数据预处理的要求,以及避免复杂的特征工程。CNN可以直接使用图像的原始像素作为输入,而不必先使用SIFT等算法提取特征,减轻了使用传统算法如SVM时必需要做的大量重复、繁琐的数据预处理工作。和SIFT等算法类似,CNN训练的模型同样对缩放、评议、旋转等畸变具有不变形,有很强的泛化性。CNN的最大特点在于权值共享一般的卷积神经网络由多个...
卷积神经网络之tensorflow实现
tensorflow中集成了很多库和函数,卷积神经网络的实现变得十分简单,这节讲述如何利用tensorflow实现一个两个卷积层的神经网络,用于对手写数字的识别。 代码如下: # -*- coding:utf-8 -*- #功能:使用卷积神经网络实现对手写数字的识别 import tensorflow as tf import tensorflow.examples.tutorials.mn
tensorflow实现LeNet-5的卷积神经网络
里面包含mnist数据集,不用再去下载,程序直接能用。由于model文件夹里有训练好的模型,可以直接跑测试,由于只跑了6000轮训练,不到完整的3W轮,所以只达到了98.8%,你们可以自己训练完一整套,能达到99.*%的准确率。若不满意,那自己调超参数 (初试的指数衰减率 和 每次衰减比率),好了,下次上传迁移学习的代码,下回见,
MacPorts卡在"正在运行软件包脚本"解决方法
1)如果等在太久还卡住,那么直接干掉(option+command+esc打开强制退出应用程序窗口) 同时还要干掉一另一个系统的安装进程(ps aux | grep install可以找到,具体名字没记下来) 2)断网后再试试,我在这成功了,运气不好就重启试试吧。记得断网 3)修改/opt/local/etc/macports/sources.conf,把最后的rsync注释
卷积神经网络 Tensorflow
import tensorflow as tf#通过tf.get_variable的方式创建过滤器的权重变量和偏置项变量 filter_weight = tf.get_variable('weights',[5,3,3,16],#stddev代表正态分布的标准差 initializer = tf.truncated_normal_ini
TensorFlow:卷积神经网络
卷积神经网络
tensorflow卷积神经网络
基于tensoflow1.8实现的卷积神经网络,包括两个卷积层,两个池化层,一个dropout层和一个输出层
tensorflow之卷积神经网络
直接上代码进行分析: """ Convolutional Neural Network. Build and train a convolutional neural network with TensorFlow. This example is using the MNIST database of handwritten digits (http://yann.lecun.com/ex...
Tensorflow卷积神经网络
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络, 在计算机视觉等领域被广泛应用. 本文将简单介绍其原理并分析Tensorflow官方提供的示例. 关于神经网络与误差反向传播的原理可以参考作者的另一篇博文BP神经网络与Python实现. 工作原理 卷积是图像处理中一种基本方法. 卷积核是一个nxn的矩阵通常n取奇数, 这样矩阵就
Tensorflow学习笔记(五)——卷积神经网络实现
今天来实现tensorflow架构下的卷积神经网络,首先了解清楚我们要构建的网络架构,数据集还是用mnist,所以输入还是28X28。建立的卷积神经网络架构是:卷积层->pooling层->卷积层->pooling层->全连接层1->全连接层2。全连接层的尺寸公式:N = (W − F + 2P )/S+1参数解释:                 输入图片大小 W×...
TensorFlow上实现卷积神经网络CNN
一、卷积神经网络CNN简介 卷积神经网络(ConvolutionalNeuralNetwork,CNN)最初是为解决图像识别等问题设计的,CNN现在的应用已经不限于图像和视频,也可用于时间序列信号,比如音频信号和文本数据等。CNN作为一个深度学习架构被提出的最初诉求是降低对图像数据预处理的要求,避免复杂的特征工程。在卷积神经网络中,第一个卷积层会直接接受图像像素级的输入,每一层卷积(滤波器)都会
Tensorflow学习之卷积神经网络实现(四)
本次主要实现的是VGGNet,这个网络所有的卷积核大小都为3x3,最大池化层都用的2x2的大小,正是由于VGGNet的探索,发现小型的卷积核在效果比5x5,7x7等大卷积核效率(两个3x3的卷积层串联相当于一个5x5的卷积层,即一个像素会跟周围5x5的像素产生关联,但3x3的参数量更少,3x3x2<5x5,并且拥有更多的非线性变换,使得CNN对特征的学习能力更强)差不多的情况下,更有助于网络深度的提
深度卷积神经网络TensorFlow GPU实现
深度卷积神经网络TensorFlow GPU实现
4-2卷积神经网络(CNN)--Tensorflow实现
点击查看完整代码http://www.daimapi.com/neuralnetwork4_2/该代码利用Python3实现,利用到了深度学习工具包Tensorflow。TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活...
TensorFlow 一步一步实现卷积神经网络
TensorFlow 从入门到精通系列教程: http://www.tensorflownews.com/series/tensorflow-tutorial/ 卷积层简单封装 # 池化操作 def conv2d(x, W, b, strides=1): # Conv2D wrapper, with bias and relu activation x = tf.nn.conv2d...
Tensorflow学习之实现卷积神经网络(三)
本次使用ImageNet数据集,ImageNet拥有1500万张标注过的高清图片,总共拥有22000类,其中约100万张标注了图片中主要物体的定位边框。 每年度的ILSVRC比赛数据集中大概拥有120万张图片以及1000类的标注,是ImageNet全部数据的一个子集。比赛一般采用top-5和top-1分类错误率作为模型性能的评测指标。 这次深度卷积网络为模型选择ALexNet,具体网络情况可以参考之
tensorflow实现简单的卷积神经网络CNN
  # encoding:utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets(&quot;MNIST_data/&quot;, one_hot=True) sess = tf.InteractiveSession() ...
tensorflow Examples:<2>实现卷积神经网络
一个使用tensorflow实现简单卷积神经网络的例子。#coding: utf-8''' os: windows 64 env: python 3.6 tensorflow: 1.1.0 ide: jupyter notebook ''' from tensorflow.examples.tutorials.mnist import input_data import tensorflow as
数据库一直显示正在还原
如题: 如果碰到这种情况,直接执行如下语句即可,亲测没问题RESTORE DATABASE 数据库名称 WITH RECOVERY我这里出现这个问题的原因是,我两次还原了同一个bak文件,应该是在第二次时,选择“还原文件和文件组”,就可以避免这样的事情发生了。特在此记录。...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池