第1关:Tensorflow卷积计算
# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy as np
import tensorflow.contrib.slim as slim
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]='3'
x1=np.array([0,0,0,2,1,1,0,2,0])
x1=x1.reshape(3,3)
x1= tf.constant(x1, shape=[1, 3, 3, 1],dtype=tf.float32)
kernel_0=np.array([0,0,-1,1,0,0,0,0,1])
kernel_0=kernel_0.reshape(3,3)
kernel_0= tf.constant(kernel_0, shape=[3, 3, 1, 1],dtype=tf.float32)
#使用tf.nn.conv2d函数实现卷积计算
#********* Begin *********#
stride = [1, 1, 1, 1]
conv2d = tf.nn.conv2d(x1, kernel_0, strides=stride, padding='SAME')
#********* End **********#
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
x1, w, conv2d= sess.run([x1, kernel_0, conv2d])
print(conv2d,np.shape(conv2d)) #[1 2 -1
# 1 2 -1
# 0 1 2]. (1,3,3,1)