自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 经典的卷积神经网络的pytorch实现(LeNet、AlexNet、VGGNet、NiN、GoogleNet、ResNet、DenseNet)

经典的卷积神经网络的pytorch实现

2022-06-14 23:17:06 641 1

原创 哈工大 计算机系统 一纸开卷CSAPP

哈工大计算机系统CSAPP 一纸开卷

2022-06-06 00:12:01 630

原创 计算机系统-大作业

本文以hello.c文件为案例,详细地分析了程序在Linux、Window操作系统下的运行过程,分别从硬件、软件、用户、内核等各个方面阐述了程序的运行过程,并在适当的过程中给出相应的程序截图。本文主要按照《CS:APP》的章节顺序进行展开,从低层次到高层次逐渐理解操作系统的各个机制和工作原理。关键词:操作系统、Linux、程序 目 录第1章 概述 - 4 -1.1 Hello简介 - 4 -1.2 环境与工具 - 4 -1.3 中间结果 - ...

2022-05-20 11:18:17 293

原创 Linux c语言实现简单的CLI(command line interpreter)

这是标准答案#include "wish.h"#include <ctype.h> // isspace#include <regex.h> // regcomp, regexec, regfree#include <stdio.h> // fopen, fclose, fileno, getline, feof#include <stdlib.h> // exit#include <sys/types.h>#include &

2022-04-02 12:54:59 2871 4

原创 TensorFlow中常见的CallBack

文章目录TensorFlow中常见的CallBackTensorboardCheckpointEarlystopingCSVLoggerLearningRateScheduler定义CallBack类TensorFlow中常见的CallBackTensorboardmodel = build_model(dense_units=256)model.compile( optimizer='sgd', loss='sparse_categorical_crossentropy',

2022-03-07 21:07:25 2034

原创 使用Tensor Flow自定义Hidden Layer

文章目录Lambda Layer定义类Lambda Layer使用keras.layers提供的Lambda layer APImnist = tf.keras.datasets.mnist(x_train, y_train),(x_test, y_test) = mnist.load_data()x_train, x_test = x_train / 255.0, x_test / 255.0如下:model = tf.keras.models.Sequential([ tf.ke

2022-03-02 20:19:27 290

原创 使用tensorflow自定义loss函数

文章目录定义python函数wrapper类定义python函数 def my_huber_loss(y_true, y_pred): error = y_true - y_pred is_small_error = tf.abs(error) <= threshold small_error_loss = tf.square(error) / 2 big_error_loss = threshold * (tf.abs(err

2022-03-02 18:22:38 2459

原创 人脸识别基础(FaceNet)

文章目录Face verification VS Face recoginitionEncoderTriplet Loss主要思路参考FaceNet论文:FaceNet: A Unified Embedding for Face Recognition and Clustering以及吴恩达视频Face verification VS Face recoginition对于人脸验证,我们完全可以将之看作为一个二分类问题,但人脸识别发展到现在,我们依然用人脸识别的方法来解决。Encoder我们

2022-02-14 19:08:13 2317

原创 目标检测础知识(Object Detection)

文章目录Object LocalizationSliding Window Detection(Convolutional implementation)YOLO(you only look once)Iou (intersection over union)Anchor BoxesNon-Max SupressionObject Localization定位一个物体,要求我们输入一个图片,输出一个物体对应的方位。XConvNet→[Pcbxbybhbw...one_hot]X\quad \und

2022-02-10 22:34:46 1706

原创 MobileNet_v2 with transfer learning(修改Mobile_v2 模型)

文章目录载入数据数据增强(Data Augmentation)载入模型,并使用迁移学习修改模型载入数据从文件夹中载入图片BATCH_SIZE = 32IMG_SIZE = (160, 160)directory = "dataset/"train_dataset = image_dataset_from_directory(directory, shuffle=True,

2022-02-08 13:35:30 1666

原创 使用TensorFlow Function构建ResNet

文章目录原理Identity BlockConvolutional BlockResNet(50 layers)原理Residual Network的基本原理就是跳跃传播,和传统的CNN网络(作为Residual Network的mainly road),Residaul 添加了新的传播通道(shortcut),具体可以参看下面的图片:中间加入BN层提高速度(As you want)shortcut具体跳跃几个层由自己决定,一般总的层数越多,跳跃的也越多。shortcut份两种,一种是X

2022-02-08 13:16:56 625

原创 使用Sequential,Function API 构建简单CNN

文章目录SequentialFunction API的简单使用SequentialSequential支持straightforward式的叠加中间层,他通过简单将每一层放置在当前最顶层来对中间层进行叠加,具体的内容可以参照官方文档# GRADED FUNCTION: happyModeldef happyModel(): """ Implements the forward propagation for the binary classification model:

2022-02-08 11:38:22 906

原创 使用numpy构建CNN(前向和反向传播)

构建CNN中padding(填充)(只会对长和宽进行填充)# GRADED FUNCTION: zero_paddef zero_pad(X, pad): """ Pad with zeros all images of the dataset X. The padding is applied to the height and width of an image, as illustrated in Figure 1. Argument: X.

2022-02-06 14:35:42 408

原创 TensorFlow基础介绍(底层构造神经网络)

使用tf.Variable,tf.constant指定不同类别的占位符# GRADED FUNCTION: linear_functiondef linear_function(): """ Implements a linear function: Initializes X to be a random tensor of shape (3,1) Initializes W to be a random tensor of sh.

2022-02-04 09:27:20 1053 1

原创 优化方法(optimization method)Momentum、RMSprop、Adam、LearningRate Decay

文章目录指数加权平均值Exponentially weighted averages带动量的梯度下降方法(Gradient Descent with Momentum)RMSprop(Root mean sqare propagate)Adam学习率下降(Learning Rate Decay)几种优化方法的比较源数据传统梯度下降带动量的梯度下降AdamGD+ LearningRate DecayMomentum + LearningRate DecayAdam + LearningRate Decay指

2022-02-03 22:00:02 1354

原创 梯度检验(gradients checking)

文章目录3 - How does Gradient Checking work?Backpropagation computes the gradients ∂J∂θ\frac{\partial J}{\partial \theta}∂θ∂J​, where θ\thetaθ denotes the parameters of the model. JJJ is computed using forward propagation and your loss function.Because

2022-01-28 15:06:11 1358

原创 正则化方法(Regularization)

文章目录add penaltyinverted dropoutadd penalty即在最后的cost_function中加入penalty,常用的有L1,L2,leakyL1等惩罚。L1:Loss(X∣W,b)=loss(X∣W,b)+λ∑l=1L∣∣Wij∣∣L1:\\ Loss(X|W,b) = loss(X|W,b) + \lambda\sum_{l=1}^{L}||{W_{ij}}||L1:Loss(X∣W,b)=loss(X∣W,b)+λl=1∑L​∣∣Wij​∣∣L2:Loss

2022-01-28 14:08:00 152

原创 Different initialization in the NN

文章目录zeros initializationrandom initializationHe initialization以下面数据为例zeros initialization将所有的权重矩阵赋值为0# GRADED FUNCTION: initialize_parameters_zeros def initialize_parameters_zeros(layers_dims): """ Arguments: layer_dims -- python array

2022-01-28 13:14:46 63

原创 CNN模型压缩——使用网络稀疏化方法(Learning Effcient Convolutional Network through Network Sliming)

文章目录IntroductionRelated Work网络稀疏化(Network Slimming)why choose chennel-level sparsifyhow to implement在模型中加入BN(Batch Normalization)层本文中的方法来自于论文《Learning Effcient Convolutional Network through Network Sliming》论文:Learning Effcient Convolutional Network throu

2022-01-20 21:21:51 3010

原创 tensorflow实现简单RNN

使用简单RNN预测谷歌的股票实验数据import numpy as npimport tensorflow.keras as kerasimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn.preprocessing import MinMaxScalerdef RNN(x_train, y_train): regressor = keras.Sequential() # add the first R

2022-01-13 23:22:23 585

原创 pytorch入门2

使用多层感知机完成MNIST手写字体识别# -*-coding = utf-8import torchimport torch.nn.functional as Ffrom torch.utils.data import DataLoaderfrom torchvision import datasetsfrom torchvision import transformsclass Net(torch.nn.Module): def __init__(self):

2022-01-12 21:31:04 499 2

原创 pytorch入门

import torchdef forward(x): return x*wdef loss(x, y): y_hat = forward(x) return (y-y_hat)**2if __name__ == "__main__": x_data = [1., 2., 3.] y_data = [2., 4., 6.] w = torch.tensor([1.0]) w.requires_grad = True for

2022-01-11 18:00:37 349

原创 使用keras_tuner进行超参数调优

import tensorflow as tfimport matplotlib.pyplot as pltfrom tensorflow import kerasfrom tensorflow.keras.preprocessing.image import ImageDataGeneratortrain_datagen = ImageDataGenerator(rescale=1.0/255)val_datagen = ImageDataGenerator(rescale=1.0/255)t

2022-01-09 19:00:08 1171

原创 LeetCode第69场双周赛第三、四题答案

第三题class Solution {public: int longestPalindrome(vector<string>& words) { unordered_map<string, int>func1,func2; int n = words.size(); string s("12"); for (int i = 0; i < n; i++) {

2022-01-09 00:26:25 370

原创 TensorFlowCNN中间层可视化

import tensorflow as tffrom tensorflow import kerasimport matplotlib.pyplot as pltfashion_mnist = keras.datasets.fashion_mnist(x_train,y_train),(x_test,y_test) = fashion_mnist.load_data()model2 = keras.Sequential()model2.add(keras.layers.Conv2D(64,

2022-01-08 12:13:53 548

原创 计算几何-寻找凸包

文章目录问题定义主要方法Graham扫描法Javis步进法问题定义一个点集Σ\SigmaΣ的凸包是一个面积最小的凸多边形PPP,满足点集中每个节点都在P的边界或者P的内部。显然,凸包中每个顶点都是点集中的点。主要方法增量法(Incremental method),对点集进行从左到右排序,在第iii步中,根据前iii个节点形成是的凸包对第i个节点进行考察,是否加入p中。时间复杂度为O(nlg⁡n)O(n\lg n )O(nlgn)分治法,将点集分为最左边n2\frac{n}{2}2n​个节点和最

2022-01-03 23:28:12 307

原创 线段的叉乘

文章目录叉乘的定义和几何含义叉乘的几个相关操作案例参考思路叉乘的定义和几何含义定义 :定义点a(x1,y1),b(x2,y2)a(x_1,y_1),b(x_2,y_2)a(x1​,y1​),b(x2​,y2​)的叉乘为∣x1y1x2y2∣=x1y2−x2y1\left |\begin{array}{cc}x_1 &y_1\\x_2 &y_2\\\end{array}\right| = x_1y_2 - x_2y_1∣∣∣∣​x1​x2​​y1​y2​​∣∣∣∣​=x1​y2

2022-01-03 17:46:44 1031

原创 OpenGL中着色器设置

//三角形#define GLEW_STATIC#include<GL/glew.h>#include<GLFW/glfw3.h>#include<iostream>float vertices[] = { -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f, 0.1f, 0.2f, 0.0f, 0.3f, 0.1f, 0.0f,};unsigned int indices[] ={ 0,1,2, 1,2,..

2021-05-01 17:15:14 188

原创 质数线性筛

class Solution {public: static const int N = 1e7; int primes[N], cnt; int st[N]; void getPrimes(int n) { for (int i = 2; i < n; i ++) { if (!st[i]) { primes[cnt ++] = i; }

2021-04-16 21:19:53 198

原创 快排

void quickSort(int *array, int left, int right){ if(left < right) { int pivot = array[left]; int low = left, high = right; while(low < high) { while(array[high] >= pivot && low < high) high--; array[low] = array[hig

2021-04-12 20:30:35 223

原创 12.动态内存

智能指针shared_ptr,unique_tr,weak_ptr;make_shared函数最安全的使用内存的方式就是使用make_shared标准库函数。和智能指针一样,包含在memory头文件中。#include<iostream>#include<memory>#include<vector>using namespace std;int main(){ shared_ptr<int>p = make_shared<int&g

2021-03-23 00:04:22 58

原创 10、泛型算法

这个应该在使用中学习,这里只会记录一些注意事项。算法不会检查写操作的合法性使用C++中的lambda表达式谓词谓词是一个可以调用的表达式,返回结果是一个能用于条件的值。标准库算法使用的谓词分为一元谓词(接受单一参数,fill)和二元谓词(拥有两个参数,sort)lambda表达式lambda表达式可以看作未命名的内联函数。它具有以下形式[capture list] (parameter list) -> return type{ function body}lam

2021-03-23 00:02:59 70

原创 8.IO类

IO对象IO对象不能拷贝或者赋值,因此也不能将形参或者返回类型设为流类型通常使用引用传递或者返回流对象。流的错误状态管理输出缓冲导致缓冲刷新的原因程序结束缓冲区满操纵符endl,flush等使用unitbuf、nounitbuf设置流的内部状态。cerr设置为unitbuf,所以所有输出操作都会立即刷新缓冲区。一个输出流可能关联到另一个流,当读写到被关联的流时,会刷新缓冲区。默认情况下cin,cerr都关联到cout,当使用cin读入,或者cerr输出是,都会导致cout缓冲区刷新

2021-03-23 00:00:37 61

原创 7.C++基础:类

类的成员函数(感觉和C++ Primer Plus一致)这里仅仅讨论plus未曾出现过的。

2021-03-22 23:59:39 69

原创 6.C++基础:函数

函数基础函数体,形参和实参(实参是形参的初始值 );形参列表;返回类型。局部对象自动对象。定义的变量属于此类局部静态对象。通过static定义的变量。在程序执行过程中一直有效。,知道程序结束才会被销毁。分离式编译参数传递传值参数通过拷贝变量,或者指针来访问。传引用尽量使用传引用来避免拷贝。const与参数实际就是const的使用,底层const和顶层const在参数传递的时候会忽略顶层const。就是说可以使用一个变量来初始化一个常量形参。数组参数下面三

2021-03-22 23:58:56 79

原创 5.C++基础:语句

迭代语句(循环)for;for();,while;do-while条件语句if-else ;switch跳转语句break;continue;return ;goto;goto是无条件跳转。所以很容易引起错误,不建议使用。try语句块和异常处理 int a, b; cin >> a >> b; try { if (b == 0)throw runtime_error("division by zero"); int c = a / b;

2021-03-22 23:58:03 49

原创 4. C++基础:表达式

运算符运算类型转换类型提升重载运算符。。。左值和右值等号两边的对象优先级和结合律运算符的优先级和运算顺序(左结合律)求值顺序对于未制定求值顺序的表达式,求值的时候产生的行为是未定义的。cout << i << " " << i++ <<endl;cout中没有定义如何对运算对象求值,所以是未定义的,最终结果取决于编译环境。4种明确了运算对象求值顺序的运算符&&||?:,运算对象的求

2021-03-22 19:45:12 145

原创 3.C++基础:字符串、向量、数组

string类直接初始化和拷贝初始化string s1 = "hallo";//拷贝string s2("hiya");//直接string s3(10,'o');//直接+string的读写使用IO操作符读取string对象string s;cin >> s;cout << s << endl;string对象会自动忽略开头空白,读到下一处空白为止。如果输入hello world,那么只会输出hello。使用getline读入string如

2021-03-22 19:43:53 82

原创 2.C++基础:变量和基本数据类型

换行符和回车符\n表示换行符,将光标移动到下一行行首,/r表示回车符,将光标移动到本行行首。声明与定义变量声明规定了变量的类型和名字,而定义还要申请空间,或许为变量赋初值。使用extern将变量申明和定义分开。extern int j任何显式初始化的声明都将成为定义,覆盖extern的作用。多文件使用同一个变量,就必须声明和定义分开,在一个文件定义,而在多个文件声明。变量只能被定义一次。变量命名C++标准库保留字。用户定义的标识符不能以两个下划线开头,也不能以下划线加大写字母开头

2021-03-22 19:42:47 63

原创 第10~13章:类基础

将类定义在头文件之中,而将类方法的具体实现放在源文件中。在函数实现中通过作用域运算符::表明所属类。class Stock{private: int n; void show(int s); ...}void Stock::show(int s){ ...}定义位于类声明中的函数自动成为内联函数,在类外面的函数也可以使永inline成为内联函数。构造函数与析构函数构造函数无返回值,函数名必须和类名保持一致。为构造函数提供重载版本,或者提供默.

2021-03-11 21:57:42 172

笔记:计算机网络——应用层

- 《计算机网络——自顶向下方法》应用层笔记

2022-09-29

《DeepLearning》week2编程作业

《Neural Network and deep Learning》week2编程作业first exercise

2022-01-23

Learning Efficient Convolutional Networks via Network Slimming

1、使用网路稀疏化方法来对CNN模型进行压缩 2、能够在模型大小、运行内存和运行时间上进行优化 3、准确度的损失在接受范围

2022-01-20

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

TA关注的人

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