for line in lines:
line = line.strip()
key, value = line.split(’ ')
image_to_label[key] = value
构造训练集
X_train = []
y_train = []
for jpg in os.listdir(data_home):
image = cv2.imread(data_home + jpg)
x = cv2.resize(image, (64, 64))
X_train.append(x)
y = image_to_label[jpg]
y_train.append(y)
X_train = np.array(X_train).reshape((1000, -1))
y_train = np.array(y_train).reshape((-1, 1))
print(X_train.shape)
print(y_train)
def get_biases(shape):
‘’’
函数的偏置定义。tf.get_variable(name,shape,dtype,initializer)
参数
1.name:“biases”
2.shape:[size],即[输出维度]
3.dtype:tf.float32
4.initializer:初始化方式initial,我们选择常量初始化
语法:tf.constant_initializer(value)
参数:
1)value:常数。0.1
:param shape: 偏置输出维度
:return: 偏置变量
‘’’
TODO:1.使用tf.constant_initializer(0.1)函数定义初始化方式
initial = tf.constant_initializer(0.1)
TODO:2.使用tf.get_variable函数定义偏置变量
biases = tf.get_variable(“biases”,
shape=shape,
dtype=tf.float32,
initializer=initial)
return biases
def get_weights(shape):
‘’’
定义参数,卷积核/权值
语法:tf.get_variable(name,shape,dtype,initializer)
参数:
1.name:“weights”
2.shape:根据不同的变量,输入不同的shape
3.dtype:tf.float32
4.initializer:初始化方式initial,我们选择初始化方式为截断的正太分布
语法:tf.truncated_normal_initializer(stddev,dtype)
参数:
1)stedev:要生成的随机值的标准偏差。可设置stedev=0.005
- dtype:数据类型。只支持浮点类型 可设置dtype=tf.float32。
:param shape:参数shape
:return: 变量参数
‘’’
TODO:1.使用tf.truncated_normal_initializer定义变量的初始化方式
initial = tf.truncated_normal_initializer(stddev=0.005, dtype=tf.float32)
TODO:2.使用tf.get_variable函数定义变量,
weights = tf.get_variable(“weights”,
shape=shape,
dtype=tf.float32,
initializer=initial)
return weights
一层全连接
def add_fc_layer(inputs, insize, outsize, activation_function=None):
‘’’
添加全连接层
1.定义权值weights
2.定义偏置bias
3.完成全连接操作:inputs*weights+bias
4.如果没有激活函数,返回softmax结果
如果有激活函数则,返回activation_function结果
:param inputs: 输入图像
:param insize: 输入维度
:param outsize: 输出维度
:param activation_function: 激活函数
:return: 计算结果
‘’’
TODO:1.调用get_weights()获取权值
weights = get_weights([insize, outsize])
TODO:2.调用get_biases()获取偏置
bias = get_biases([outsize])
TODO:3.使用tf.matmul完成inputs和weights乘法运算;使用+完成与bias的加法运算
wx_plus_b = tf.matmul(inputs, weights) + bias
TODO:4.如果激活函数None,返回tf.nn.softmax结果,否则返回activation_function结果
if activation_function == None:
outputs = tf.nn.softmax(wx_plus_b)
else:
outputs = activation_function(wx_plus_b)
return outputs
全部模型
def inference(inputs):
TODO:1.调用add_fc_layer完成全连接操作1
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
_convert/9f49b566129f47b8a67243c1008edf79.png)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)