python深度学习的一些知识点

233 阅读2分钟

tensorflow中一般四维张量含义 比如图像张量:self.inputs = tf.reshape(input_tensors[‘inputs’], [-1, 84, 84, 3])

[batch_size,height,width, channels] //图像张量 [个数,高度,宽度,通道数]

[height,width,input_channels,output_channels] //滤波器张量 [卷积核高度,卷积核宽度,图像通道数,卷积核个数] //第三维input_channels为input张量的第四维。

python中读写文件需要创建临时运行环境比如: `try: file = open(’text.txt’, ‘r’) print(file.read()) finally: if file: file.close()

try catch是由于文件打开是有成功和失败两种可能,为了更加严谨,在打开失败时不执行.close()操作。在python中简洁的写法如下:with open("test.txt","r") as file: for line in file.readlines(): print(line.strip())# 把末尾的’\n’删掉

`

如何将.ipynb文件转换为.py文件

`- 作业条件:在jupyter notebook下编写完程序,保存为“myprogram.ipynb”。

  • 作业目的:选择在jupyter notebook下编写python程序(因为喜欢它的界面简单可实时看到运行效果的特点),调试成功之后保存成py文件,以便在其它电脑上运行(因为jupyter notebook默认保存的是.ipynb文件 )。
  • 作业实施
  1. 命令行下进入“myprogram.ipynb”文件所在目录;
  2. 执行jupyter nbconvert --to script myprogram.ipynb
  3. 执行成功后会在当前目录下生成一个同名py文件“myprogram.py”。
  4. 命令行下运行python ./myprogram.py,检查文件是否运行成功。

该转换命令将ipynb文件中的非命令语句全都用#注释掉了,如果希望转换后的py文件大小小一点,可以去掉这些注释行。

sigmoid函数的代码实现:

import numpy as np

def sigmoid(x):
    s = 1 / (1 + np.exp(-x))
    return s

因为是使用numpy实现的sigmoid函数的,所以这个sigmoid函数可以计算实数、矢量和矩阵,如下面的就是当x是实数的时候:

if __name__ == '__main__':
    x = 3
    s = sigmoid(x)
    print s

然后会输出``` 0.952574126822

## sigmoid函数的梯度

为什么要计算sigmoid函数的梯度,比如当我们在使用反向传播来计算梯度,以优化损失函数。当使用的激活函数是sigmoid函数就要计算sigmoid函数的梯度了。