2020.1.9学习总结

1.deeplearning中权值初始化==》一般初始化为0, 初始值的不同,会影响到收敛的速度以及收敛的结果,所以在transfer learning中,已pre-trained model的权值作为后续layer的初始值能很好的加快收敛以及收敛的效果。同样的,在pre-trained model的基础上,进行fune-tuning也是同样的道理。
2.在权值初始化后,选择一个合适的optimizer,通过loss对权值的偏导数,利用gradient descent进行优化,然后通过反向传播对权值进行更新,迭代得到最优解。优化算法有SGD、GD、mini-batch GD、Moment、RMSprob、Adam,现在用的最多的是Adam,适用于所有的网络。
3.激活函数包括–sigmoid,relu, tanh,softmax, 使用激活函数的作用是消除线性影响, loss函数 MSE, Crossentropy。
4.LSTM中units的含义,units主要就是激活函数的个数,也就是隐藏神经元的个数,如下图中黄色框中的三个sigmoid和一个tanh, 三个sigmoid分别代表了遗忘门,输入门和输出门,tanh得到新的memory信息。
在这里插入图片描述
5.tensorflow中去上下三角矩阵:tf.linalg.band_part
tf.linalg.band_part(a, m, n), a => input m=> num_lower 下三角矩阵保留的副对角线数量,从主对角线开始计算,相当于下三角的带宽。取值为负数时,则全部保留。
n => num_upper 上三角矩阵保留的副对角线数量,从主对角线开始计算,相当于上三角的带宽。取值为负数时,则全部保留。

#
#   examples:
#   if 'input' is [[ 0,  1,  2, 3]
#                 [-1,  0,  1, 2]
#                 [-2, -1,  0, 1]
#                 [-3, -2, -1, 0]],
#
tf.linalg.band_part(input, 1, -1) ==> [[ 0,  1,  2, 3]
                                       [-1,  0,  1, 2]
                                       [ 0, -1,  0, 1]
                                       [ 0,  0, -1, 0]],

tf.linalg.band_part(input, 2, 1) ==> [[ 0,  1,  0, 0]
                                      [-1,  0,  1, 0]
                                      [-2, -1,  0, 1]
                                      [ 0, -2, -1, 0]]

# Useful special cases:
 # tf.linalg.band_part(input, 0, -1) ==> Upper triangular part.
 # tf.linalg.band_part(input, -1, 0) ==> Lower triangular part.
 # tf.linalg.band_part(input, 0, 0) ==> Diagonal.
  1. np.newaxis => 主要是增加一个维度
x1 = np.array([1, 2, 3, 4, 5])
# the shape of x1 is (5,)
x1_new = x1[:, np.newaxis]
# now, the shape of x1_new is (5, 1)
# array([[1],
#        [2],
#        [3],
#        [4],
#        [5]])
x1_new = x1[np.newaxis,:]
# now, the shape of x1_new is (1, 5)
# array([[1, 2, 3, 4, 5]])

7.git的使用
git clone + path
也可查看git的 gitconfig文件,进行update
将文件clone至指定文件夹
1)在某个指定文件中,打开git bash

2)在【git bash】中输入【git init】

3)发现在文件夹中多出了【.git】文件夹

4)进入【.git】文件夹,你会发现一个【config】的局部配置文件
8.Android Studio报错unable to access android sdk add-on list解决方案
主动跳过,进去后build进行sdk的自动安装
9.deep learning nlp中Word2Vector
1)word2vec是自然语言处理中的一个非常重要的模型。word2vec是指把一个词转化成向量。
2)gensim库,gensim是一个很强大的已经封装好了word2vec模型的库,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。可以将文本信息转换成稀疏vector,后续深入学习
10. tfds.features.text.SubwordTextEncoder
能通过build_from_corpus得到encoder

encoder = tfds.features.text.SubwordTextEncoder.build_from_corpus(corpus_generator, target_vocab_size=2**15)
id = encoder.encode('hello world')
text = encoder.decode(id)
encoder.save_to_file(vocab_filename)
encoder1 = tfds.features.text.SubwordTextEncoder.load_from_file(vocab_filename)
  1. dataset.map() 函数只接受graph的tensor输入,无法接受带有numpy属性的。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值