写在前头
这段时间在学习利用tensorflow编写自编码器代码,在B站上看到了一个教学视频,觉得很有用,但很遗憾视频的画质和声音都有点渣,UP主也没有提供源代码,我在网上搜了下,也没找到,因此自己根据视频把代码整理了出来,给自己做个备份,也给大家提供参考。
视频链接:视频链接
视频的大神是在已经写好的神经网络代码上进行改写的,我在网上有发现这个神经网络的代码,也一并附在这里:神经网络代码
如果教学视频的原作者已经在某处发表了代码,或者有人发现了原作者的代码,还请告诉我一声,为保护原作者的权益,我会删掉这篇文章的~
另外,在完整把代码扒下来之后,运行发现有一两个问题,不能完整运行,因此对里面一些小地方(例如路径等)进行了修改,还对一些代码进行了解释,已经可以直接运行。
tensorflow 自编码网络
import tensorflow as tf
import os
from PIL import Image
import numpy as np
import cv2
from matplotlib import pyplot as plt
from tensorflow.examples.tutorials.mnist import input_data
#重置图,这句是另外加的
tf.reset_default_graph()
#文件路径名和视频中不一样,按实际的路径即可
mnist=input_data.read_data_sets("./MNIST_data/",one_hot=True)
x=tf.placeholder(tf.float32,[None,784])
batch_size=1000
def add_layer(input_data,input_num,output_num,activation_function=None):
w=tf.Variable(initial_value=tf.random_normal(shape=[input_num,output_num]))
b=tf.Variable(initial_value=tf.random_normal(shape=[1,output_num]))
output=tf.add(tf.matmul(input_data,w),b)
if activation_function:
output