3641-贾哲择-人工智能学科-量化金融方向 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费
#读取和写入CSV文件
#引入CSV模块
import csv
#打开文件,注意:如果乱码,请在最后标明encoding的类型
with open("efg.csv","r",encoding='utf-8') as f:
    a_csv=csv.reader(f)#读出文件内容
#    print(list(a_csv))
    for row in a_csv:#用循环读出文件内容
        print(row)
#打开一个新的文件
with open("ee.csv","w") as f:
    #获得一个写入器
    b_csv=csv.writer(f)
    #一行一行的写
    b_csv.writerow(["ID","姓名","年龄"])
    b_csv.writerow(["1001","工藤新一","17"])
    c=[["1002","希希","18"],["1003","黑羽快斗","16"]]
    b_csv.writerow(c)

['\ufeffID', '姓名', '年龄', '破案量']
['1001', '工藤新一', '17', '1000']
['1002', '服部平次', '18', '200']
['1003', '黑羽快斗', '16', '100']

ID,姓名,年龄

1001,工藤新一,17

"['1002', '希希', '18']","['1003', '黑羽快斗', '16']"

 

[展开全文]
with open("e.txt","r",encoding="utf-8") as f:#打开文件
    print("文件名是:{0}".format(f.name))#打印文件名
    print(f.tell())#返回文件中指针的当前位置
    print("读取内容:{0}".format(str(f.readline())))#读取文件的第一行
    print(f.tell())#返回文件中指针的当前位置
    print("读取内容:{0}".format(str(f.readline())))#读取文件的第二行
    print(f.tell())#返回文件中指针的当前位置

 

[展开全文]

out是所有的时间戳上面最后一个memory状态

h是左右一个时间的所有memory状态

 

[展开全文]

memory的更新方式

How to train?

求导过程略

[展开全文]

RNN循环神经网络

RNN跟CNN最大的区别是会根据语境信息更新

 

[展开全文]

时间序列表示方法

pytorch里面并没有支持字符串的功能

one_hot是比较稀疏的、维度高

sequence序列能接受的input shape有两种

[word num, b, word vec]

[b, word num, word vec]

[展开全文]

CIFAR—10数据集包括了常见的十类事物的图片

每一类有6000张图片,一共有6万张,其中5万张用来训练,1万张用来测试

 

[展开全文]

数据增强

神经网络对数据的要求非常饥渴,需要贴有标签的大量数据

当数据量有限的时候:1、要减少神经网络的隐藏层;2、Regularization,迫使一部分权值接近于0,让网络的表现更加稳定;3、数据增强,目前的数据量较少,想办法对数据进行变换——旋转、裁剪加噪声等

Flip——翻转

可以从水平方向和竖直方向进行翻转,这里增加了random属性,代表翻转是具有随机性的,有可能进行水平翻转,也有可能不翻转,有可能垂直翻转,也有可能不翻转

Rotate——旋转

Scale——缩放

以中心点为标准进行缩放Resize,传入的是list

Crop Part

随机得进行裁剪

transform是torchvision里面自带的包, transform.Compose()可以把一系列翻转、旋转、裁剪和缩放操作组合在一起

Noise——加噪声,用的不多

即使得到了无穷多的数据,由于进行变换后的数据和原本的数据非常接近,所以训练的结果仅仅能得到一个很小的提升

[展开全文]

4、save和load

5、train和test状态切换很方便

6、implement own layer

由于实际需要定义一个flatten类,我们通过nn.Sequential()来把函数有序排列起来组成我们主要的神经网络结构

7、通过nn.Parameter( )实现自己的参数定义

[展开全文]

nn.Module的好处

提供了很多现成的网络层

1、container——nn.Sequential()

将神经网络内部的结构按照顺序进行编码

net = nn.Sequential()可以直接实现网络前向传播

2、其次,通过net.parameters( )可以返回想要的参数;也可以通过net.parameters( )把参数丢到优化器里

3、modules里面包括了所有的节点;里面包括很多子节点——直系亲属

整个net有5个节点

[展开全文]

DenseNet跟ResNet一样都有shortcut短接,以使得及时是很深的网络其性能也不必浅层的网络差,不一样的是后面的每一层网络都有可能与前面任意一层网络形成短接

最上面的没有短接的神经网络

第二个是Resnet

最后一个是DenseNet

从图片上可以看出来区别

 

[展开全文]

VGG

研究发现卷积核较小的时候不仅可以提高运算量,且对图片benshen

GoogLeNet

在每个隐藏层都使用了不同大小的卷积核,从不同的视觉大小更深刻得学习图片

[展开全文]

leNet-5将准确率提升了10%+

AlexNet使用了下采样层和relu激活函数

 

[展开全文]

Batch Norm有以下四种,只是以哪个维度为标准的区别

我们主要学习Batch normalization以通道为基准,计算每个通道上的均值和方差,然后通过减均值除以方法来使这些值均匀得分布在某个范围内

规范化算法 计算均值和方差、标准化、 缩放

在测试集上,我们把训练集的runnnig_mean/running_var直接赋值给训练集,test没有backward,所有w和b并不需要更新,不需要梯度更新

[展开全文]

BatchNorm

将不同维度的值都缩放到一个以0为均值,以某个值为方差的比较均匀的分布上

 

Feature scaling

输入R、G、B各通道的均值和方差,normaliazation的具体过程是

 

[展开全文]

池化层(pooling)

向下采样:

Max pooling

采集的是窗口内的最大值

Avg pooling

采集的是窗口数值的均值

向上取样,把图片方法,取最近距离的值进行简单的复制

 

 

[展开全文]

Multi-Kernels

每一个通道上都需要有相同的卷积核,每个通道可以有1个2个甚至更多的卷积核,但是每个通道上的卷积核都必须相同!每个核之间可以不同

 

[展开全文]

概念:

Input_channels输入的通道(黑白图有1个通道,彩图RGB有三个通道)

Kernel_channels有多少个核(边缘核、模糊核都有就是两个核)

Kernel_size核的大小,2x2,或者是3x3

stride:步长

Padding(打补丁):在两边补空白的数量,2列是2,1行是1

 

[展开全文]