gpt4 book ai didi

python - TensorFlow :ValueError: None values not supported

转载 作者:行者123 更新时间:2023-12-01 09:19:21 30 4
gpt4 key购买 nike

import tensorflow as tf
import matplotlib.pyplot as plt

from tensorflow.examples.tutorials.mnist import input_data

mnist=input_data.read_data_sets('MNIST_DATA/',one_hot=True)
def init_weights(shape):
init_random_dist=tf.truncated_normal(shape,stddev=0.1)

return tf.Variable(init_random_dist)
def init_bias(shape):
init_bias_vals=tf.constant(0.1,shape=shape)
return tf.Variable(init_bias_vals)
def conv2d(x,W):

return tf.nn.conv2d(x,W,strides=[1,1,1,1],padding='SAME')
def max_pool_2by2(x):
tf.nn.max_pool(x,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME')
def conv(input_x,shape):
W=init_weights(shape)
b=init_bias([shape[3]])
return tf.nn.relu(conv2d(input_x,W)+b )
def normal(input_layer,size):
input_size=int(input_layer.get_shape()[1])
W=init_weights([input_size,size])
b=init_bias([size])
return tf.matmul(input_layer,W)+b
x=tf.placeholder(tf.float32,shape=[None,784])
y_true=tf.placeholder(tf.float32,shape=[None,10])
x_image=tf.reshape(x,[-1,28,28,1])

conv1=conv(x_image,shape=[5,5,1,32])
conv1_pooling=max_pool_2by2(conv1)
# # conv2=conv(conv1_pooling,shape=[5,5,32,64])
conv2=conv(conv1_pooling,shape=[5,5,32,64])
conv2_pooling=max_pool_2by2(conv2)
conv2_flat=tf.reshape(conv2_pooling,[-1,7*7*64])
full_layer=tf.nn.relu(normal(conv2_flat,1024))

但是当我尝试运行这段代码时,我遇到了一个奇怪的错误

ValueError: None values not supported.

During handling of the above exception, another exception occurred:

所有这些代码都不是从教程中学习的,但是当我尝试运行该教程的 jupyter 笔记本时,代码执行得很好,并且执行后没有问题或错误我不知道我的代码弹出错误的原因

感谢任何形式的帮助EDIT1:我没有在 tensorflow session 中运行此代码按照教程,导​​师告诉运行此代码以检查任何类型的问题

最佳答案

好吧,问题是你忘记了 max_pool_2by2 中的 return,即它应该是:

def max_pool_2by2(x):
return tf.nn.max_pool(x,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME')

所以完整的代码应为:

import tensorflow as tf
import matplotlib.pyplot as plt

from tensorflow.examples.tutorials.mnist import input_data

mnist=input_data.read_data_sets('MNIST_DATA/',one_hot=True)
def init_weights(shape):
init_random_dist=tf.truncated_normal(shape,stddev=0.1)
return tf.Variable(init_random_dist)

def init_bias(shape):
init_bias_vals=tf.constant(0.1,shape=shape)
return tf.Variable(init_bias_vals)

def conv2d(x,W, name):
return tf.nn.conv2d(x,W,strides=[1,1,1,1],padding='SAME',name=name)

def max_pool_2by2(x):
return tf.nn.max_pool(x,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME')

def convolutional_layer(input_x,shape,name):
W=init_weights(shape)
b=init_bias([shape[3]])
return tf.nn.relu(conv2d(input_x,W, name)+b )

def normal(input_layer,size):
input_size=int(input_layer.get_shape()[1])
W=init_weights([input_size,size])
b=init_bias([size])
return tf.matmul(input_layer,W)+b

x=tf.placeholder(tf.float32,shape=[None,784], name='x')
y_true=tf.placeholder(tf.float32,shape=[None,10], name='y_true')
x_image=tf.reshape(x,[1,28,28,1])
conv1=convolutional_layer(x_image,shape=[5,5,1,32],name='conv1')
print(conv1.get_shape())
conv1_pooling=max_pool_2by2(conv1)
print(conv1_pooling.get_shape())
conv2=convolutional_layer(conv1_pooling,shape=[5,5,32,64], name='conv2')
conv2_pooling=max_pool_2by2(conv2)
conv2_flat=tf.reshape(conv2_pooling,[-1,7*7*64])
full_layer=tf.nn.relu(normal(conv2_flat,1024))

关于python - TensorFlow :ValueError: None values not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50930376/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com