自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 神经网络中梯度下降的参数更新公式理解

目的:降低损失函数y可调整数值:变量x(式子中时θ)当求得导数为正数时,代表x增大,y也增大,根据目的,需要减小x,这样y也会减小,所以取导数反方向,即更新为负号。当求得导数为负数时,代表x增大,y减小,与目的相同,如何增大x呢,也需要取导数反方向,即x-导数,这样y也就减小了。综合两种情况,可以看出取取导数的反方向更新x,会使得y损失函数减小。参数更新方向确定了,如何更新的更好呢,有一个学习率控制,还有没有更好的方法呢,得琢磨琢磨。...

2021-12-20 10:16:11 1455 1

原创 python线性回归

线性回归主要用于处理回归问题,少数情况用于处理分类问题。一元线性回归:y=a*x+b ,描述自变量和因变量都只有一个的情况,且自变量和因变量之间呈线性关系的回归模型。python例子:import numpy as npimport matplotlib.pyplot as pltif __name__=='__main__': x=np.array([1,2,4,6,9]) y=np.array([2,5,7,8,10]) x_mean=np.mean(x)

2021-12-18 16:26:07 588

原创 Tensorflow2--VGG16

CIFAR10""" cifar100数据集处理 使用 VGG13 网络层"""import osimport tensorflow as tffrom tensorflow.keras import layers, Sequential, datasets, optimizersos.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"tf.random.set_seed(2345)# GPU设置gpu_lst = tf.config.expe

2021-12-08 10:58:50 316

原创 Tensorflow2--VGG13

CIFAR100import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers, optimizers, datasets, Sequential,losses# 一 加载CIFAR10数据集(x,y), (x_test, y_test) = datasets.cifar100.load_data()# x的shape为(50000, 32, 32, 3) y的shape为(50000,

2021-12-08 10:07:13 92

原创 Tensorflow2----VGG13

CIFAR10import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers, optimizers, datasets, Sequential,losses# 一 加载CIFAR10数据集(x,y), (x_test, y_test) = datasets.cifar10.load_data()# x的shape为(50000, 32, 32, 3) y的shape为(50000, 1

2021-12-08 10:05:47 174

原创 基于虚拟机实现的TCP/IP聊天项目实现

在虚拟机中,进行实现。原视频地址:1.创建两个c文件:server.c、client.c利用vim 进行编写(i编辑,然后Esc,wq保存一套操作猛如虎)2.利用gcc编译,生成可执行文件client、 server(gcc -o client client.c、gcc -o server server.c )3.执行server、client(./server 、./client)具体代码如下:client:#include <stdio.h>#include <n

2021-11-13 10:24:47 2543 1

原创 KMP算法

花了好几个小时理解了这个算法,难点就在于构造next数组。有一篇博客讲的挺透的,链接力扣里也有相关介绍,链接主要是理解next数组,其本质是存储j位之前的最大重复子串的长度,数值大小代表下一次指针j转移的位置(最大重复子串的长度对应模式串中的位置)。...

2021-06-03 21:05:03 47

原创 刷题学习记录1

零矩阵题目:编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。class Solution {public: void setZeroes(vector<vector<int>>& matrix) { int m = matrix.size();//行 int n = matrix[0].size();//列 int flag_col0 = false;//0标记,防止后面操作覆盖

2021-05-17 21:53:03 48

原创 QT基础学习笔记5

QPainter绘图1.绘图事件,void paintEvent();声明一个画家对象,QPainter painter(this); //this指绘图设备画线:drawLine画圆:drawEllipse画矩形:drawRect画文字:drawText设置画笔:QPen,设置笔宽度、风格设置画刷:QBrush ,设置画刷风格void Widget::paintEvent(QPaintEvent *){ QPainter painter(this); QPen pen(

2021-05-11 21:06:18 94

原创 QT基础学习笔记4

界面布局实现登录窗口,利用布局方式,给窗口进行美化。选取widget进行布局,水平布局、垂直布局、栅格布局。默认窗口和控件之间有空隙,可以调整,layoutLeftMargin利用弹簧布局。控件按钮组:QPushButton 常用按钮QToolButton 工具按钮,用于显示图片,修改风格:toolButtonStyle,凸起风格: autoRaiseradioButton 单选按钮,设置默认ui->rBtn(按钮对象名)->setChecked(true)checkbox

2021-05-08 11:31:08 74

原创 QT基础学习笔记3

1.QMainWindow:菜单栏最多有一个,QMenuBar *bar=MenuBar();setMenu(bar)QMenu *fileMenu=bar->addMenu("文件”) 创建菜单QAction *newAction=fileMenu->addAction(“创建”) 创建菜单项fileMenu->addSeparator() 添加分割线工具栏可以有多个QToolBar *toolbar=new QToolBar(this)addToolBar(“默认停靠

2021-05-07 10:34:18 263

原创 QT基础学习笔记2

信号和槽连接函数:connect(信号发送者,发送的信号(函数地址),信号接收者,处理的槽函数(函数的地址))。自定义信号和槽:自定义信号:写到signals下,返回void,需要声明,不需要实现,可以有参数,也可以重载。自定义槽函数:返回void,需要声明,也需要实现,可以有参数,可以重载,写到public slot下,或者public或者全局函数触发自定义的信号使用:emit当自定义信号和槽出现重载时,需要利用函数指针,明确指向函数的地址,如:void (Teacher::*Signal)(

2021-05-05 11:02:08 55

原创 QT基础学习笔记1

命名规范和快捷键1.命名规范:类名 首字母大写,单词和单词之间首字母大写函数名,变量名称,首字母小写,单词和单词之间首字母大写2.快捷键:注释 ctrl+/运行 ctrl+r编译 ctrl+b字体缩放 ctrl+鼠标滚轮查找 ctrl+f整行移动 ctrl+shift+↑或者↓帮助文档 F1 第二种:左侧按钮 第三种:Qt5.11.0\5.9\mingw53_32\bin下assistant.exe文件自动对齐 ctrl+i同名之间的.h和.cpp切换 F4创建按钮常用

2021-04-27 21:22:12 71

原创 c++基础学习笔记18

容器:vector、deque、stack、queue、list、set、mapvector:单端数组与普通数组的区别:数组是静态空间,而vector可以动态扩展。动态扩展:不断寻找更大的内存空间,然后将原数据拷贝新空间,释放原空间。一段空间是连续空间,支持随机访问。常用操作:front、back、push_back、pop_back、begin、end、insert、assign、empty、capacity、size、resize、erase、clear、at、[ ]、swap、 reserv

2021-04-18 12:16:03 64

原创 c++基础学习笔记17

stringstring本质是类char是一个指针string 是一个类,类内部封装了char,管理这个字符串构造函数原型:*string() 例如:string s;string(const char* s) 例如:const char * str=“hello”;string s1(str); 即string s1(“hello”);string(const string& str)//拷贝构造,例如:string s2(s1);

2021-04-16 22:06:33 59

原创 c++基础学习笔记16

STL标准模板库广义分为:容器、算法、迭代器。大体分为六大组件:容器、算法、迭代器、仿函数、适配器、空间配置器。容器:vector、list、deque、set、map等算法:sort find copy for_each等容器分为序列式容器和关联式容器。序列式容器:强调值的排序,序列式容器中的每个元素均有固定的位置。关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序关系。算法:质变算法和非质变算法质变算法:运算过程中会更改区间内的元素的内容,例如拷贝、替换、删除等。

2021-04-16 21:01:46 49

原创 c++基础学习笔记15

类模板类模板与函数模板区别主要有两点:1.类模板没有自动类型推导的使用方式2.类模板在模板参数列表中可以有默认参数#include<iostream>using namespace std;#include <string> template<class NameType,class AgeType>class Person{public: Person(NameType name, AgeType age) { m_Age = age;

2021-04-14 21:53:53 42

原创 c++基础学习笔记14

函数模板1.函数模板语法:template函数声明或定义其中template可用class替换。两种方式使用函数模板:1.自动类型推导函数(变量);注意事项:必须推导出一致的数据类型才可以使用;模板必须要确定出T的数据类型,才可以使用2.显示指定类型:函数<指定类型>(变量)#include<iostream>using namespace std; template<class T>void myswap(T &a, T &

2021-04-12 21:58:15 49

原创 c++基础学习笔记13

多态多态分为两类:静态多态和动态多态。静态多态:函数重载和运算符重载,复用函数名(重载条件:同一个作用域下,函数名称相同,函数参数类型不同或个数不同,引用可以作为重载条件)动态多态:派生类和虚函数实现运行时多态(派生类即子类,基类即父类)两者区别:静态多态的函数地址早绑定,编译阶段确定函数地址。动态多态的函数地址晚绑定,运行阶段确定函数地址。动态多态满足条件:1.有继承关系2.子类需要重写父类的虚函数(让函数地址晚绑定,根据使用对象来确定运行函数地址,即父类中的虚函数地址会改变成所需要运行的

2021-04-10 10:52:52 55

原创 c++基础学习笔记12

继承语法: class 子类 : 继承方式 父类继承方式:公共继承public,在子类中,父类的属性公共和保护权限不变,私有权限不可访问保护继承protected,在子类中,父类的属性公共权限变为保护权限,其余不变,私有权限不可访问私有继承private,在子类中,父类的属性公共权限和保护权限均变为私有权限,私有权限不可访问继承中,父类所有非静态成员属性都会被子类继承。1.利用开发人员命令提示工具查看对象模型2.跳转盘符3.跳转文件路径4.查看命令 cl /d1 reportSin

2021-04-10 09:00:30 80

原创 c++基础学习笔记11

浅拷贝:简单的赋值拷贝操作深拷贝:在堆区重新申请空间,进行拷贝解决了浅拷贝重复释放空间的问题。例子如下:#include<iostream>using namespace std;#include<string>#include <fstream>class Person{public: Person() { cout << "构造函数调用" << endl; } Person(int age,int helight

2021-04-08 20:43:11 40

原创 c++基础学习笔记10

以二进制方式对文件操作,打开方式:ios::binary二进制方式写文件主要利用流对象调用成员函数write函数原型:ostream& write(const char *buffer,int len);字符指针buffer指向内存中的一段存储空间,len是读写的字节数#include<iostream>using namespace std;#include<string>#include <fstream>class Person{publ

2021-04-07 16:25:44 33

原创 c++基础学习笔记9

文本文件 读文件读文件步骤如下:1.包含头文件:#include “fstream”2.创建流对象ofstream ifs;3.打开文件并判断文件是否打开成功ifs.open(“文件路径”,打开方式)4.读数据四种方式5.关闭文件:ofs.close();#include<iostream>using namespace std;#include<string>#include <fstream>void test01(){ ifstr

2021-04-07 15:45:09 50

原创 c++基础学习笔记8

文本文件操作文件三大类:1.ofstream:写操作2.ifstream :读操作3.fstream:读写操作写文件步骤如下:1.包含头文件:#include2.创建流对象ofstream ofs;3.打开文件ofs.open(“文件路径”,打开方式)4.写数据ofs<<“写入的数据”5.ofs.close();文件打开方式:ios::in 为读文件而打开文件ios::out 为写文件而打开文件ios::ate 初始位置:文件尾ios::app

2021-04-07 15:14:05 75

原创 c++基础学习笔记7

构造函数、析构函数#include<iostream>using namespace std;#include<string>#include <ctime>class person{public: person(int a, int b, int c) :m_a(a), m_b(b), m_c(c) {} void printp() { cout << m_a << m_b << m_c <&lt

2021-03-30 22:10:53 54

原创 c++基础学习笔记6

引用、函数默认参数、类和对象#includeusing namespace std;#include#include int main(){ /*函数默认参数:返回值类型 函数名(参数=默认值){}1.如果某个未知已经有了默认参数,那么从这个位置往后,从左向右都必须右默认值2.如果函数声明有默认参数,函数实现就不能有默认参数(两者只能有一个)函数占位参数:返回值类型 函数名(数据类型){},占位参数可以有默认参数:例如int func(int =10)函数重载(可以让函数名相同,提高

2021-03-29 21:58:49 56

原创 c++结构体案例

#include<iostream>using namespace std;#include<string>#include <ctime>struct stu{ string name; int score;};struct teacher{ string name; int age; struct stu sarr[5];};void printarr(struct teacher arr1[], int len){ for

2021-03-27 22:09:11 100

原创 c++基础学习笔记5

结构体#include<iostream>using namespace std;#include<string>struct hero{ string name; int age; string sex;};void bubblesort(struct hero arr[],int len){ for (int i = 0; i < len - 1; i++) { for (int j = 0; j < len - i - 1; j+

2021-03-27 21:32:27 52

原创 c++基础学习笔记4

指针#include<iostream>using namespace std;#include<string>int main(){ /* 指针定义:指针类型 *指针变量 可以通过解引用的方式找到指针指向的内存中的数据(*p) int a=10; int * p=&a;(定义一个指针p,大小为&a,即a的地址) 指针也是一种数据类型,存储值为地址,32位操作系统下占4个字节,64位占8个字节 空指针用于初始化指针变量,其所

2021-03-27 10:33:05 57

原创 c++基础学习笔记3

数组、函数定义#include<iostream>using namespace std;#include<string>int main(){ /*一维数组:1.数据类型 数组名[数组长度] 2.数据类型 数组名[数组长度]={值1,值2...} 3.数据类型 数组名[]={值1,值2};数组下标从0开始索引 数组名用途:1.统计整个数组占用内存的大小 2.获取数组在内存中的首地址 (int)arr=(int)&arr[0],地

2021-03-26 22:22:37 47

原创 c++基础学习笔记2

运算符、程序结构#include<iostream>using namespace std;#include<string>int main(){ int num1 = 0; cout << "请输入整形变量a的数值:" << endl; cin >> num1; cout << num1 << endl; cout << 5/3<< endl; /*运算符号:+:正号,加号;-

2021-03-26 11:24:45 44

原创 c++基础学习笔记1

基础字符类型及大小、转义字符#include<iostream>using namespace std;#include<string>int main(){ cout << "he world" << endl; cout << "hello world" << endl; cout << "he\t world" << endl; cout << "hello\t world\t

2021-03-25 20:49:47 51

原创 tensorflow2.0神经网络模型绘制、保存与加载

网上资料甚多,实在是乱花渐欲迷人眼,遂整理记录于此,以备后用。创建神经网络模型import tensorflow as tffrom tensorflow import kerasimport matplotlib.pyplot as pltmodel=tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28,28)), tf.keras.layers.Dense(128,activation=

2020-10-31 15:24:15 867

原创 tensorflow2.0回归分析预测学习笔记(一)

初学,欢迎各位路过的大佬指正导入各种包import numpy as npimport pandas as pd import matplotlib.pyplot as pltimport tensorflow as tffrom tensorflow.keras import layersimport tensorflow.kerasimport warningswarnings.filterwarnings("ignore")%matplotlib inline读取数据,自己编了

2020-10-30 21:31:41 734

原创 TENSORFLOW2.0之绘图

记录一下tensorflow2.0绘图,绘制相关曲线,以防年老健忘。传送门其中用到plt.plot()传送门

2020-10-30 17:09:54 765

原创 python中for循环输出(index,value)的两种方法

index索引value索引值方法一、利用enumerate()list1=['a','s','d','g']for index,value in enumerate(list1): print('索引:%d,索引值:%s'%(index,value))输出结果:索引:0,索引值:a索引:1,索引值:s索引:2,索引值:d索引:3,索引值:g方法二、利用range(len())list1=['q','w','e','r']for i in range(len(list1))

2020-10-16 10:17:33 5970

原创 列表list、数组array、字符串str 转换

刚开始学习总是记混这些东西,缕清一下方便记忆。先认识一下各个类型长啥样:列表list=[1,‘2’,‘a3’] #逗号隔开l=[1,'2','a3']print(type(l))<class 'list'>数组array=[1 2 3 ] #空格隔开w=np.arange(3)print(w)print(type(w))[0 1 2]<class 'numpy.ndarray'>元组tuple=(1,‘2’,‘3a’)s=(1,'er'

2020-10-14 17:48:10 990 2

原创 matrix和ndarray区别

matrix和ndarray区别1.ndarray 可以是任意维数 mat只能是2维的a=np.mat([[[1,2]]])ValueError: matrix must be 2-dimensionala=np.array([[[1,2]]])2.矩阵乘法ndarray:np.dot 是叉乘 (各元素相乘后相加)a=np.array([1,2])b=np.array([3,4])a.dot(b)11a*b=np.multiply(a,b) (各对应位置元素相乘)a*b

2020-10-14 17:47:44 331

原创 读取txt文件数据read、readline、readlines区别

读取txt文件一、file_4=open('1.txt','r') #open为内置函数con_4=file_4.read() #读入字符串,并赋值file_4.close() #释放所打开资源print(con_4)二、with open('1.txt','r') as file_2: contents=file_2.read() print(contents)三、read 、readline、readlines1.read:f = open("3.txt")li

2020-10-12 21:55:03 1120

原创 python将txt数据改为csv

python将txt文件改为csvimport csvwith open('file1.csv','w') as f: f_csv=csv.writer(f) for line in open('1.txt', 'r'): line_sp = line.strip().split() #strip()去除首尾中括号内指定的字符,split()按照括号内的内容进行分割 f_csv.writerow(line_sp)运行结果:...

2020-10-12 17:33:20 541

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除