conda create -n mc
activate mc
jupyter notebook
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
5.使用清华镜像安装TensorFlow
pip3 install tensorflow-gpu==1.14 -i https://pypi.tuna.tsinghua.edu.cn/simple
有一个损失函数 = 2 − 10 + 25,用 TensorFlow 将其最小化。
import numpy as np
import tensorflow.compat.v1 as tf
由于tensorflow2.0及以上版本更新修改删除了一些属性,所以在导入tensorflow时要规定版本为v1。
w = tf.Variable(0,dtype = tf.float32)
cost = tf.add(tf.add(w**2,tf.multiply(- 10.,w)),25)
train = tf.train.GradientDescentOptimizer(0.01).minimize(cost)
init = tf.global_variables_initializer()
session = tf.compat.v1.Session()
session.run(init)
session.run(w)
print(session.run(w))
输出结果为0.0,因为在运行学习算法前w初始化为0,下面开始运行梯度下降算法
session.run(train)
print(session.run(w))
运行了一步梯度下降法后,输出结果为:0.099999994
for i in range(1000):
session.run(train)
print(session.run(w))
经过1000次迭代,输出结果为4.9999886
w的最优解为5,而经过1000次迭代后w变成了4.9999已经非常接近最优解。
吴恩达深度学习进行到“残差网络”章节,在此之前针对上周问题学习了softmax回归、端到端学习、CNN卷积神经网络,包括CNN中的卷积层、池化层、最大连接层中涉及的操作和作用,结合三个经典网络案例LeNet-5,AlexNet,VGG发现深度学习在发展过程中网络和数据不断扩大、参数不断增多,而神经网络难以训练的原因之一是存在着梯度消失和梯度爆炸的问题,因此需要把Plain network加上跳跃连接变成ResNet。
下周预计学习完吴恩达深度学习课程内容,然后继续看花书跟进学习进度,并完成猫图分类这个相对简单的项目。