- 博客(46)
- 收藏
- 关注
原创 pytorch中WGAN的实战以及代码注释
WGAN这里是学习过程中WGAN判别八个点高斯分布的实战,代码是照着教学视频抄的,中文注释是自己写的,希望对大家理解有帮助。import torchfrom torch import nn, optim, autogradimport numpy as npimport visdomfrom torch.nn import functional as Ffrom matplotlib import pyplot as pltimport randomh_dim = 400batchsz
2021-05-15 11:05:42 2061 3
原创 pytoch_AE&VAE
AE和VAE重现手写数字数据集AEVAEmain函数下面分别是AE和VAE的模型,以及训练用的main函数AEimport torchfrom torch import nnclass AE(nn.Module): def __init__(self): super(AE, self).__init__() # [b, 784] mnist数据集像素28*28 self.encoder = nn.Sequential(
2021-05-14 11:50:39 259
原创 pytorch数据预处理和卷积神经网络训练
目录数据集建立神经网络ResNet模型网络训练迁移学习数据集建立在实际情况中,我们拥有的图片数据往往不是那么规整的,图片的大小以及图片的格式往往都会不同。我们要将这些在不同文件中间的图片,加载到一个固定的数据集的类别中,以便我们之后调用。这里利用Pokemon数据,可以从百度上搜到,我们定义一个class类来存放这些数据。具体代码如下所示。注:main()函数仅仅用来查看当前class是否有误,检查其运行状况。注:实例中用到了torch,cuda, visdom等需要手动下载的包; visdom也
2021-05-11 10:36:18 639
原创 卷积神经网络-pytorch-lenet5&&resnet
卷积神经网络pytorch实现一、模型建立1 Lenet5卷积神经网络模型2 Resnet卷积神经网络模型二、模型调用一、模型建立本代码基于pytorch以及cuda的GPU模式,如果没有GPU的话,把to.devide()这种代码删去就好。下面仅仅是代码的实现,不对模型建立做解释,相关的代码解释有注释,希望对大家有帮助。1 Lenet5卷积神经网络模型需要先运行模型,然后下面调用才能成功。其次,模型代码文件需与运行的代码文件在同一级同一目录下。from torch import nncl
2021-05-05 15:50:07 297
原创 pytorch利用梯度下降求方程的最小值_day2
pytorch我们需要求解上面函数f(x,y)的最小值,方法如下。import numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import pyplot as pltimport torchdef himmelblau(x): # 利用梯度下降计算这个函数的最小值 return (x[0] ** 2 + x[1] - 11) ** 2 + (x[0] + x[1] ** 2 - 7) ** 2
2021-04-14 12:28:06 1137 1
原创 Pytorch_gradient descent_day 1
下面演示的是计算梯度下降求解线性拟合的问题import numpy as np# y = wx + bdef compute_error_for_line_given_points(b, w, points):"""这个是用来计算给出w,b的误差(也叫loss function)""" totalError = 0 for i in range(0, len(points)): # 对每个点都要算 x = points[i, 0] y = po
2021-04-11 10:10:44 239
原创 DL_network_compression_Day12
Network CompressionIntroduction神经网络的计算需要大量的内存或者显存,这对运行设备的要求比较高。但在某些小型电子设备上运行时不能满足这些要求,所以我们可以考虑将神经网络压缩的更小一点。Network Pruning神经网络中有些参数或者说神经单元是可有可无的,他们对训练的结果没有什么影响,所以扔掉这些神经元可以提高运行速度且不改变结果。下图是那人类成年后神经元数量做对比。该方法的步骤如下方法体现Knowledge Distillation除了扔掉部分神经元
2021-03-28 15:52:31 152
原创 DL_universal_attack_day11
目录Universal AttackHow to attackintroductionloss function for attackconstraintprocessattack approacheswhite or black boxblack box attackuniversal attackattack in the real worldDefensepre-defensepassive defensemoreUniversal AttackHow to attackintroduction
2021-03-26 10:48:12 259
原创 DL_explainableML_Day10
目录Explainable Machine LearningClassificationLocal ExplanationGlobal ExplanationLocal Explanation: Explain the DecisionIntroductionLimitation of Gradient based ApproachesAttack InterpretationGlobal Explanation: Explain the whole ModelActivation Minimization
2021-03-23 12:23:55 92
原创 DL_semi-supervised_Day9
目录Semi-supervised LearningIntroductionSemi-supervised Generative ModelLow-density SeparationIntroductionSelf-trainingEntropy-based RegularizationSemi-supervised SVMSmoothness AssumptionIntroductionCluster and then LabelGraph-based ApproachSemi-supervised
2021-03-22 15:47:22 92
原创 DL_ELMO/BERT/Transformer_Day8笔记
ELMO含义:Embeddings from Language Modelembedding就是对单词的一个向量化下面是训练ELMO的方法BERTBidirectional Encoder (双向编码) Representations(表示) from TransformersBERT的四种使用方法Transformer结构Transformer是第一个用纯attention搭建的模型,不仅计算速度更快,在翻译任务上获得了更好的结果,也为后续的BERT模型做了铺垫atte
2021-03-19 17:16:40 128
原创 DL_RNN_DAY7
RNN1-of-N encoding有些类似one-hot编码,将文本的类型转换为能够机器学习的向量类型进行输入。除了上面的编码方式外,还有其余两种。左边是处理库存里面没有单词的方法,右边是根据单词类型进行编码。store循环神经网络RNN在DNN之外加入了可以存储之前输入信息的空间。这种情况下,神经网络会保持对之前数据的记忆。这样的话,输入的顺序会改变训练的效果。处理上下有关联的信息,比如文本信息是很有用的。exampledeep RNN加深的话就直接加上几个隐含层了,每个神经元都
2021-03-17 20:46:28 207
原创 DL_CNN_Day6
CNNcnn概况cnn的步骤如下所示,比一般的神经网络多了卷积过程和池化过程。convolution卷积过程需要一个filter(过滤器)与原输入数据按部分依次相乘,组成新的矩阵。每次向右移动的格数称为步长。输入数据可能有多层,如果是彩色照片,一般是三层。阿尔法狗的那个是用了48层来表示某一个落点的特征。卷积操作和全连接层的关系:卷积可以看成是神经网络一层的操作,如下所示。max pooling池化操作是把数据分割后按照一定原则处理数据,比如取这些组中最大的数据作为他们的代表,这样
2021-03-06 22:59:39 138
原创 DL_Backpropagation_tips for DNN_Day 5
目录homework for classificationBackpropagationpurposeprocessTips for training DNNReluMaxoutRegularizationDrop outhomework for classification原课程是不让用sklearn写的.import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom s
2021-03-04 13:05:03 135 1
原创 DL_Classification、Logistic Regression、Deep Intro_Day4
目录Classificationtwo classesprobability from classGaussian DistributionMaximum LikelihoodModifying ModelLogistic Regressionfunction setevaluationfind the best functionmulti-class classificationlimitationBrief Introduction of DLneural networkgoodness of func
2021-03-03 00:14:22 137
原创 DL_Optimization_Day3
目录Optimizationwhat is optimizationcontentsome notationsSGDSGDMRMSPropAdamHow to improveAdamSGDMLookaheadAdamW SGDWMSomething helps optimizationOptimizationwhat is optimizationcontent找到一个合适的参数的θ,使得L(θ)损失函数值最小some notations一些参数的含义如下所示SGDSGDMSGD是梯度下
2021-03-01 13:17:54 194
原创 DL2020_Day2_Gradient Descent
Gradient Descenthomework 1题目代码下面是利用梯度下降法做线性回归预测,用了三种方法。效果发现直接写梯度下降的代码效果比调用sklearn中线性回归模型以及岭回归模型要好。可能与直接编写的代码中针对学习速率做了调整有关。import pandas as pdimport numpy as npfrom sklearn.preprocessing import StandardScalerfrom sklearn.model_selection import trai
2021-02-28 19:56:45 110
原创 DL2020_regression_Day1
regression1 ModelExample: f(input) = outputThis is a linear function2 Evaluationloss functionInput: a function, output: how bad it is2.1 High Biasunder fitting: the function is too simple2.2 High Varianceoverfitting: the function is too comp
2021-02-27 21:53:14 91
原创 机器学习_逻辑回归、聚类分析、模型调用与保存
一、模型的加载与保存# 保存训练好的模型joblib.dump(自己命名分类器名称, "保存地址")# 比如 lr = LogisticRegression(),那里就写lr# 调用保存好的模型(训练好的)去做预测model = joblib.load("地址")y_predict = model.predict(x_test)# 当我们的x,y都被正则化的时候#y_predict = std_y.inverse_transform(model.predict(x_test))print
2021-02-25 16:09:27 1001
原创 机器学习_线性回归问题
线性回归案例分析正规方程、梯度下降、岭回归from sklearn.datasets import load_bostonfrom sklearn.linear_model import LinearRegression, SGDRegressor, Ridgefrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.metri
2021-02-25 09:36:58 142 1
原创 机器学习_决策树和随机森林
一、决策树1.1 决策树的划分依据信息增益信息熵:信息增益特征A对训练数据集D的信息增益g(D,A),定义为集合D的信息熵H(D)与特征A给定条件下D的信息条件熵H(D|A)之差。计算:1.2 决策树估计器使用"""决策树对泰坦尼克号进行预测生死:return: None"""# 获取数据titan = pd.read_csv("http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt")# 处
2021-02-24 22:19:02 98
原创 机器学习_K近邻算法、超参数调整、朴素贝叶斯算法、模型评估
一、K近邻算法(1)代码示例import pandas as pdfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScaler# 读取数据,预测签到地点data = pd.read_csv(r"C:\Users\dell\Desktop\机器学习\机器学习
2021-02-24 15:15:09 515
原创 机器学习_数据降维、数据划分
一、数据的降维(1)含义数据降维是减少特征的数量,优化算法的运行。(2)降维的方法1>过滤式特征选择# 除去方差小于某个值的那一列特征from sklearn.feature_selection import VarianceThresholddef var(): var = VarianceThreshold(threshold=0.0) # 过滤式特征选择,这里是除去为零的特征 x = [[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1,
2021-02-22 20:55:39 624
原创 机器学习_特征工程文本处理、数据特征的预处理
一、特征工程定义特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性。二、字典特征抽取from sklearn.feature_extraction import DictVectorizer# 我们来看看对于x这一个字典抽取特征后的结果def dict_vec(): dict = DictVectorizer() x = [{'city': '北京','temperature':100},{'city': '上海','temper
2021-02-22 10:53:45 330
原创 2021-02-20Shell基础编程笔记
一、重启磁盘修复二、Shell中变量的声明、引用及作用域变量赋值:等号两边不能有空格如果要给变量赋空值,在等号后面跟换行符显示变量的值echo $variableecho ${variable}清除变量unset variable显示所有的变量set环境变量也就是全局变量,按规则要大写export QUANJUBIANLIANG三、Shell编程中位置参量使用和命令执行状态码(脚本test.sh)----------------------# !/bin/bash
2021-02-21 11:20:37 235
原创 Linux系统管理
一、Linux下的磁盘命令、内存查看命令unameuname -rdate 查看日期cal 2021 查看2021年的日历表df -lh 查看磁盘使用情况fdisk -1 查看磁盘使用情况fsck 文件路径 修复磁盘du --max-depth=1 -h //查看文件夹下的磁盘使用情况pwd 返回当前路径mount 查看挂在磁盘信息mount /dev/dsb1 /data01 挂载磁盘unmounted 路径 卸载磁盘free内存查看命令fr
2021-02-20 15:47:15 55
原创 Linux_基础命令
一、文件表示>>Linux下文件的类型**文件 # - **目录(类似Win下的文件夹)# d**链接(类似Win下的快捷方式)# l-------------------------------------------->>第一部分 -rw-rw-r-- **拆分: - rw- rw- r--- 第一个字符: 表示文件类型 后面九个字符: 分为三组,表示
2021-02-19 18:02:42 60
原创 Linux_基本环境_笔记
一、Linux基本命令(1)清屏clear(2)创建普通用户useradd 用户名(3)切换用户su - 用户名 #从root(管理员用户)切到普通用户不要密码(4)显示当前用户所在的目录pwd# 在linux系统下,默认情况下,创建一个用户的同时会给用户在系统的目录下创建一个属于自己的用户目录,该目录成为用户主目录。#用户主目录可以用 ~ 代替(5)查看主机名称hostname #查看hostname hadoop-senior.名称.com #设置主机名称#
2021-02-09 08:36:28 56
原创 MySQL中运算符、常用函数和索引
一、MySQL中的运算符1、算数运算符SELECT 算式 #就可以计算2、比较运算符 # 返回值只能为真(1)或假(0)= >< != <=>IS NULL | IS NOT NULLBETWEEN AND | NOT BETWEENIN | NOT INLIKE | NOT LIKE REGEXP3、逻辑运算符&& | AND|| | OR! | NOTXOR # 不同时为真二、数学函数
2021-02-07 23:17:56 283
原创 MySQL_连接、联合查询、子查询、正则表达式查询
一、查询语句补充(1)ORDER BY 排序实现排序功能,加在查询语句的最后,除了LIMIT之外。(2)LIMIT 限制显示的条数LIMIT 显示条数LIMIT 偏移量, 显示条数 # 偏移量表示从第几个开始(3)更新记录和删除记录之前讲的比较单一,可以把更新和查询放在一起给更新加上条件。WHEREORDER BY 栗子:UPDATE cms_user SET age=age+10 ODER BYid DESC LIMIT 3;LIMIT # 更新和删除只能加上一个值二
2021-02-07 20:43:47 106
原创 MySQL数据表相关操作以及查询
一、建表的相关指令(1)AUTO_INCREMENT 自增长与主键搭配使用。就是新插入行在该字段置如果不指定值,就根据该字段目前最大的值+1在创建表();之后可写AUTO_INCREMENT=100就代表了自增长从100开始。(2)NOT NULL 非空字段一定要赋值,否则报错。当然,如果自增长的话,就可不赋值。(3)DEFAULT 默认值没赋值就默认该值。栗子:age TINYINT NOT NULL DEFAULT 18 # 不输入年龄就默认18(4)UNIQUE KEY
2021-02-07 13:46:23 115
原创 MySQL_第一日学习笔记_数据的类型和表的创建
一、cmd中的MySQL的命令(1)打开mysqlmysql -hlocalhost -uroot -p # 不一定有效(2)查看所有数据库SHOW DATABASES;(3)进入某个数据库USE 该数据库的名字;(4)查看当前的数据库SELECT DATABASE();(5)退出当前数据库EXEC 数据库名字 # 这个我不太确定,我一般就use其它数据库(6)创建数据库CREATE DATABASE 数据库名(建议小写,符合规范);(7)在当前数据库下创建表(举个栗子
2021-02-06 22:24:46 75
原创 Pandas_时间序列
一、时间序列的生成pd.date_range(start=None, end=None, periods=None, freq='D')# start和end以及freq配合能够生成start和end范围内以频率freq的一组时间索引# start和periods以及freq配合能够生成从start开始的频率为freq的periods个时间索引# freq表频率缩写,一般是英文首字母大写栗子:二、时间字符串转化为时间序列(常用于把读取文件中的时间字符串转化为时间序列)# 我们可以使用p
2021-02-04 23:01:03 159
原创 Pandas_合并和分组聚合
一、pandas统计电影分类情况## 重新构造一个全为0的数组,列名为分类## 如果某一条数据中分类出现过,就让0变为1data_movies = r"C:\Users\dell\Desktop\Python学习\14100_HM数据科学库课件\day04\datasets_IMDB-Movie-Data.csv"df = pd.read_csv(data_movies)print(df["Genre"])# 统计各电影类型的个数# 统计分类的列表temp_list = df["Genre
2021-02-04 15:16:47 233
原创 2021-02-01pandas_series&dataframe
一、pandas中series用法(1)series创建#带标签的数组# 直接创建t2 = pd.Series([1,5,4,98,5], index=list('abcde'))# 带标签的数组,不加index则默认标签从0开始# 通过字典创建temp_dict = {"name":"xiaohong", "age":30, "Tel":10086}t3 = pd.Series(temp_dict)(2)引用t3[[1,2]] # 取第二个到第三个t3[1:] # 同上的另一种取
2021-02-03 16:37:54 119 3
原创 Chapter2_numpy的应用
(1)numpy生成数据1、生成np.arrayarange2、reshape # 修改维度t1.reshape(n,m) # shape成n行m列t1.reshape(n, ) # shape成一维t1.reshape(n, 1)or(1,n) # 都是二维n = t5.shape[0]*t5.shape[1]t5.flatten()3、运算就是矩阵的运算,注意广播原则(broadcast)broadcast 在矩阵中必须有一个纬度相同(2)numpy读取文件以及调
2021-02-01 20:13:57 88
原创 Python_matplotlib散点图、条形图、直方图笔记
一、散点图from matplotlib import pyplot as pltfrom matplotlib import font_managery_3 = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,
2021-01-31 12:14:51 169
原创 Python_matplotlib折线图笔记
一、折线图绘图基本内容如下所示,功能看代码后的注释。二、其余功能可以通过访问函数介绍或者matplotlib官网,后者可以直接在模板上修改,非常方便。(注:其中我调用字体的地址是自己电脑里的,如果路径不同需要修改。)三、代码块(1)问题(2)代码from matplotlib import pyplot as pltfrom matplotlib import font_managermy_font = font_manager.FontProperties(fname=r"G:\Pyt
2021-01-31 00:05:27 114
原创 Day_6python基础_类
(1)内存过程略(2)class Car: def __init__(self, motor, chassis, seat, shell): self.motor = motor self.chassis = chassis self.seat = seat self.shell = shell def run(self): self.motor.work() self.chassis.w
2021-01-29 10:55:49 76
原创 Day_5 python基础知识第六章(1)_设计类
(1)设计一个名为 MyRectangle 的矩形类来表示矩形。这个类包含:(1) 左上角顶点的坐标:x,y(2) 宽度和高度:width、height(3) 构造方法:传入 x,y,width,height。如果(x,y)不传则默认是 0,如果 width和 height 不传,则默认是 100. (4) 定义一个 getArea() 计算面积的方法(5) 定义一个 getPerimeter(),计算周长的方法(6) 定义一个 draw()方法,使用海龟绘图绘制出这个矩形// An h
2021-01-27 17:49:18 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人