基础GAN
网络结构
导入相关函数12345import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layersimport matplotlib.pyplot as pltimport numpy as np
准备数据1(train_images,_),(_,_)=tf.keras.datasets.mnist.load_data()
1train_images.shape
(60000, 28, 28)
1train_images.dtype
dtype('uint8')
1train_images=train_images.reshape(train_images.shape[0],28,28,1).astype('float32')
1train_images.shape
(60000, 28, 28, 1)
1train_images.dtype
dtype('float32')
1 ...
【常用于分类问题】交叉熵、相对熵
假设有离散型随机变量X的两个概率分布$p(x)$和$q(x)$,其中$p(x)$是数据的真实分布,$q(x)$是预测的数据分布。使用交叉熵或相对熵来度量$q(x)$逼近$p(x)$的效果,逼近程度越高,则两者的交叉熵或者相对熵就越小,因此可作为损失函数。
交叉熵$$H(p,q)=\sum_ip(x_i)log\frac1{q(x_i)}=-\sum_ip(x_i)log(q(x_i))$$
二分类对于二分类问题,真实标签一般用0和1来表示,假设真实的标签为$y_1,y_2,…,y_k$,预测得到的列向量为$yp_1,yp_2,…yp_k$
其中$y_i\in{0,1},i=1,2,…,k$
则交叉熵损失为$$H(y,yp)=-(y_1log(yp_1)+y_2log(yp_2)+…+y_klog(yp_k))$$
举个例子,假设共4个样本,其真实标签分别是$$ \begin{bmatrix} 1 &0&1&0 \end{bmatrix}$$(经sigmoid激活函数)预测输出得到$$ \begin{bmatrix}0.3&0.2&0.4& ...
幻听
转瞬即逝的美丽最适合在一遍又一遍的怀念里打磨出永恒的光彩
在远方的时候
又想你到泪流
这矫情的措辞结构
经历过的人会懂
那些不堪言的疼痛
也就是我自作自受
你没有装聋
你真没感动
一个人的时候
偷偷看你的微博
你转播的歌好耳熟
我们坐一起听过
当日嫌它的唱法做作
现在听起来竟然很生动
可能是时光让耳朵变得宽容
如今一个人听歌总是会觉得失落
幻听你在我的耳边轻轻诉说
夜色多温柔
你有多爱我
如今一个人听歌总是会觉得难过
爱已不在这里我却还没走脱
列表里的歌
随过往流动
一个人的时候
偷偷看你的微博
你每天做了些什么
我都了然于胸
当时嫌你的蠢话太多
现在回想起画面已泛旧
可能是孤独让情绪变得脆弱
如今一个人听歌总是会觉得失落
幻听你在我的耳边轻轻诉说
夜色多温柔
你有多爱我
如今一个人听歌总是会觉得难过
爱已不在这里我却还没走脱
列表里的歌
随过往流动
如今一个人听歌总是会觉得失落
幻听你在我的耳边轻轻诉说
夜色多温柔
你有多爱我
如今一个人听歌总是会觉得难过
爱已不在这里我却还没走脱
如果你回头
不要放下我
高阶函数,匿名函数-Python基础连载(十三)
开篇前面已经学习了函数以及函数的各种形式的参数。
本期要介绍的高阶函数也是函数的一种,只不过与普通的函数不同的是,高阶函数的参数可以是另外一个函数,高阶函数的返回值也可以是另外一个函数。
本期你将学习到Python的3个常用高阶函数:
map()、filter()和reduce()。
你完全可以把高阶函数看做是一个正常的函数(本来就是),只不过其参数和返回值可以是函数。这样学习起来可能会更加轻松。
mapmap用于对某一个可迭代对象中的每一个元素施加同一种操作。
map()有两个参数,第一个参数是一个函数,第二个参数是一个可迭代对象。
还是拿栗子来说明:
对于列表lis=[1,2,3],将列表中的每一个元素做平方操作,并将结果存入新的列表
如果采用普通的函数解答,你应该能写出如下的类似代码:
12345678910lis=[1,2,3]#求平方的函数def square(x): return x**2new=[]#遍历求平方for x in lis: temp=square(x) new.append(temp)print(new)
而若使用map函数,代码是这样子的 ...
函数,化繁为简-Python基础连载(十二)
开篇考虑这么一个问题:
求解1到4之和
到现在,你已经学习了分支循环以及六大数据类型,所以这题很简单啦,你应该能很轻松的写出下面的代码:
1234sum=0for i in range(1,5): sum+=iprint('1+2+3+4=',sum)
bingo!
那如果问题改为求解1到10之和呢?
也不难对吧,只需对range()稍作修改:
1234sum=0for i in range(1,11): sum+=iprint('1+2+...+10=',sum)
那如果问题改为求解1到100,1到1000之和呢?
同样是修改range()中的数字即可!
仔细思考一下,你会发现,上面的几个问题其实可以归纳为一个问题:求和
每个问题的解答代码其实都只是更改了range()中的一个数字
如果对于每一个问题,我们都去写一段上面的代码,那简直是灾难!因为会出现大量重复的代码。
所以,函数应运而生!
初识函数函数的结构如下:
其中的def是关键字,func是可自定义的函数名,x是函数的参数,可以有多个(这里的举的栗子只有一个),函数体内书写 ...
那些年
不知道那是梦境还是真实发生过,依稀记得18年的某个夏夜瞎溜达的时候到过这里,当时夜色浓重到干扰视线,我也只是远远地驻足观望,便迎着隐匿的月光转身而去了,脑海闪过的零星碎片,也被几里之外响彻黑夜的车笛声带去了遥不可测的夜空。
已经许多年没有特意走过这条路了,一些东西,也只有在紧闭双眼的时候才能看得见…
第一年…
“老师,我没有书!”
“我这里有两本,这个应该是你的”
第二年…
下午3点的天空,黑色浸染了时间之光,脱缰的风终于获得了自由,嘲笑着世间万物,教室里最后的光也被吞噬殆尽,两刻钟后,太阳露出了劫后余生般的微笑。
第三年…
“这种植物其实就在我们身边,现在你们去采集一些,注意不要跑远了”
第四年…
“去这么早做什么,再等会儿”
“走,玩去”
第五年…
“请用这些词写一篇作文,文体不限,字数不限”
第六年…
那年的夏天是经历过的最热的夏天,撕掉了好几本书,只为完成一个精美的工艺品,一个直到现在还保留着的美好亦或是虚幻
记得的永远会记得,记不得的也永远记不起了:
第一年的模型还不能正确区分语文与数学两字 ...
LSTM
可以把 lstm的memory看做一个neural
LSTM的解释图:
一个neural的工作过程
有点RNN的味道了
真正的LSTM
RNN在TF中的实现
Embedding层在 TensorFlow 中,可以通过 layers.Embedding(𝑁_vocab,𝑛)来定义一个 Word Embedding层,其中𝑁_vocab参数指定词汇数量, 𝑛指定embedding后的单词向量的长度
1import tensorflow as tf
1234567#这里应该是对一个句子而言x=tf.range(10)#生成10个单词的数字编码:[0,9]x=tf.random.shuffle(x)print(x)#创建10个单词,每个单词用长度为4的向量表示net=tf.keras.layers.Embedding(10,4)#10是单词个数,4是embedding后的向量长度out=net(x)
tf.Tensor([1 0 8 9 3 4 5 6 2 7], shape=(10,), dtype=int32)
(10,4)是一个句子的单词个数和embedding后的向量长度,若有NUM个句子,则shape变为(NUM,10,4)
12#Embedding层内部的查询表tablenet.embeddings
<tf ...
元组与集合-Python基础连载(十一)
开篇
在本期内容中,将介绍Python六大标准数据类型中最后两种:元组(tuple)与集合(set)。
元组(tuple)你已经学习过列表,并且知道列表是可变数据类型。这里要学习的元组和列表非常相似,在掌握列表的使用方法基础之上,再来学习元组会非常容易。
你只需记得元组与列表的不同之处:
1.元组是不可变数据类型
2.元组使用()包裹元素
元组的不可变特性决定了元组没有增删改等功能,只可查询。
其查询方法归纳如下:
1. index()
()内传入所要查询的元素值,返回该元素值所在的下标,若找不到该元素值,则报错:
1234>>> x=(1,2,3,4,5)>>> x.index(2)#查找元素2对应的下标1>>> x.index(2333) #2333不在x中,因此报错Traceback (most recent call last): File "<pyshell#50>", line 1, in <module> x.index(2333)ValueError: tupl ...
记忆中的那座房子
我又来到了记忆中的那所房子昏黄的傍晚,在东边那个小房间里,有几个人人嗑着瓜子,看着电视我认出了他们其中一人,其余人似曾相识,可却无法看清他们的面容时间一分一秒的流逝着…他们一直在那里,嗑着瓜子,看着电视潮湿的空气使我感觉到呼吸困难于是我走出房门,来到院子里抬头环顾天空,只见西南上空被墨汁浸染视线在晃动,墨汁在扩散又是一场逃不掉的大雨它伴随着夜色的临近而逐渐肆虐我从院子踱步至大门底下,拿了个马扎坐下,静静地等待着许久,耳畔清净了我看了下手机,晚8点透过东边房间的窗户,我看到暗蓝色的光影闪烁着,并时不时的传出豆子爆裂的声音据此推断 他们应该还在看着电视,磕着瓜子吧我打开手机的灯光,推开大门按理说刚下过雨,门前这条年久失修的土路应该是非常泥泞的,可现在却一点也看不出来我试探着踩上去我相信自己的感觉了我举起手机,向这条路的前方照去可灯光微弱,被黑夜吞噬在前方三米处我索性关了手机的灯光,使视线接受到的画面范围更加广阔我隐隐约约看到了那棵大榆树于是向前走去“小心!”只见一个黑影向我扑来在这个黑夜,我看不清ta的样子,也分不清ta是人还是其他活物,所以只是大致看出一个黑影我立即躲到大榆树后面,距 ...