自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 自学记录《深度学习500问》之 深度学习基础

1.为什么使用深层表示?深度神经网络是一种递进式的学习算法,浅层的神经元直接从数据中学习一些低层次的简单特征,例如边缘、纹理等。而深层的神经元则基于已经学习到的浅层特征继续学习更高级的特征, 从计算机的角度来学习深层次的信息。深层的网络隐藏单元数量相对较少,隐藏层数目较多,如果浅层的网络想要达到同样的计算结果,则需要指数级增长神经元的数量才能达到。2.为什么深层神经网络难以训练?梯度消失:从隐藏层从后向前看,梯度会变得越来越小,说明前面层的学习效果远低于后面的层,所以学习会卡住。梯度消失

2021-03-21 21:18:21 416

原创 剑指offer刷题记录

03. 数组中重复的数字

2021-03-12 20:51:46 104

原创 《CT原理与算法》庄天戈 -学习笔记 之 二

第一章 绪论第二章 从投影重建图像算法I :反投影重建算法(累加法)第三章 从投影重建图像算法lI :滤波反投影重建算法第四章 扇束投影重建第五章 从投影重建图像算法Ⅲ:迭代重建算法  断层平面中某一点的密度值可看作这一平面内所有经过该点射线(反)投影之和(的平均值)。整幅重建图像可看作所有方向下的(反)投影累加而成。  例如,图2.2 为一与纸平面平行的断层,具有16个像素。像素值(代表密度)分别为x1...x16x_1...x_{16}x1​...x16​。我们赋值如下:x6=5,x7=2,x

2023-03-28 14:18:09 637

原创 《CT原理与算法》庄天戈 -学习笔记 之 一

第一章 绪论第二章 从投影重建图像算法I :反投影重建算法(累加法)第三章 从投影重建图像算法lI :滤波反投影重建算法第四章 扇束投影重建第五章 从投影重建图像算法Ⅲ:迭代重建算法  

2023-03-28 10:39:35 558 1

原创 ASTRA Toolbox学习笔记-Python

ASTRA Toolbox 是一个用于处理 X 射线相干散射和 X 射线传输成像的开源算法工具箱。本文档概述了该工具箱的基本概念。

2023-03-26 17:03:09 3292 26

原创 剑指 Offer 57. 和为s的两个数字

输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]方法1: 首尾双指针对撞设置两个指针i=0i = 0i=0 和 j=sums[].size(),sum=nums[i

2021-04-14 10:12:38 73

原创 剑指 Offer 53 - II. 0~n-1中缺失的数字

一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例 1:输入: [0,1,3]输出: 2示例 2:输入: [0,1,2,3,4,5,6,7,9]输出: 8方法:二分法关键点:排序数组当中如果不缺项,那么应有:索引 = 索引处内容,即 nums[i]=inums[i] = inums[i]=i,如下图所示:若当中出现缺项,则会导致其后所有位置索引 != 索引处内容

2021-04-13 14:03:43 66

原创 剑指 Offer 53 - I. 在排序数组中查找数字 I

统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0方法:二分法首先由经典的二分法搜索得到nums中任意一个target的位置,之后分别向两边计数。特殊情况:nums=[]nums = []nums=[],此时r=−1,l>rr = -1,l >rr=−1,l>r,直接跳到最下return0

2021-04-04 22:09:34 87

原创 剑指 Offer 62. 圆圈中最后剩下的数字

方法:动态规划状态方程:dp[i]表示,有i个元素时,最后剩下人的索引。(状态定义为关键点)

2021-04-03 15:20:28 101 1

原创 剑指 Offer 63. 股票的最大利润

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 =6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。方法:动态规划状态定义: dp[i]d

2021-04-01 21:56:54 67 1

原创 剑指 Offer 49. 丑数

我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。方法:动态规划状态定义: dp[i]为第i个丑数状态转移方程:dp[i+1]=min(dp[0]到dp[i]中每一个数都分别乘2,3,5)dp[i+1] = min(dp[0]到dp[i]中每一个数都分别乘2,3,5)dp[i+1]=min(dp[0]到

2021-03-31 11:16:11 54

原创 力扣 49. 字母异位词分组

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]方法:哈希表将每一个字符串排序后(此处注意sorted()函数和sort()的区别),作为字典的key,将原字符串作为值存入(此处注意应用的向字典一个key下的值中添加元素的方法)取出字典的值,并转化为列表输

2021-03-26 21:06:11 107

原创 剑指 Offer 47. 礼物的最大价值

在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例 1:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 12解释: 路径 1→3→5→2→1 ,可以拿到最多价值的礼物方法:动态规划法,使用双指针两层循环,从尾至首循环遍历。n,m为遍历序号最大值:m = len(grid

2021-03-24 10:30:01 82 2

原创 剑指 Offer 46. 把数字翻译成字符串

给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", “bwfi”, “bczi”,“mcfi"和"mzi”方法:动态规划首先将输入数字转化为字符串,s = str(num)。状态定义:dp[i]dp[i]dp[i]表

2021-03-23 18:48:25 131 2

原创 剑指 Offer 10- II. 青蛙跳台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1方法:动态规划法状态定义:dp[i]dp[i]dp[i]表示n级台阶的跳法状态转移方程:dp[i]=dp[i−1]+dp[i−2]dp[i] = dp[i-1] + d

2021-03-23 09:45:16 164 1

原创 剑指 Offer 10- I. 斐波那契数列

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0,F(1) = 1F(N) = F(N - 1) + F(N - 2),其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n = 5输出:5方法

2021-03-22 21:18:25 62

原创 剑指 Offer 42. 连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为6。暴力解法:两层循环,遍历所有组合,设置max存放最大值时间复杂度极高为 O(N2)\ O(N^2) O(N2),导致提交时超出时间限制Pythonclass Solution: def maxSubA

2021-03-22 19:26:46 51

原创 剑指 Offer 45. 把数组排成最小的数

输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [3,30,34,5,9]输出: “3033459”知识点:Python字符串可以作比较,比较方法是比较首位ascII码,若首位相同,则比较下一位。方法:此题本质上也是排序问题,找到数组的正确排序,排序规则如下:先将数组中元素转化成字符串a = [‘3’, ‘30’, ‘34’, ‘5’, ‘9’]若 nums[i] + nums[j] <nums[j] + nums

2021-03-20 19:47:04 72 1

原创 Python3基本数据类型

Python3中有6个基本数据类型:Number(数字)String(字符串)List(列表)Tuple (元祖)Set(集合)Dictionary(字典)其中不可变的数据有三个:Number(数字)、String(字符串)、Tuple(元组)可变的数据也有三个:List(列表)、Dictionary(字典)、Set(集合)对于C++来说string字符串则是可变的,可以原地修改string a = "abcd"a[0] = "6"// 此时a = “6bcd”...

2021-03-19 14:56:09 65

原创 剑指 Offer 39. 数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2方法1:抵消,若一个数超过一半,那么最后一定会剩下遍历数组,若两数不同,则互相抵消若相同则个数+1Pythonclass Solution: def majorityElement(self, nums: List[int]) -> int: n = 0

2021-03-19 11:03:50 73 1

原创 剑指 Offer 29. 顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]方法:i,j为两个指针;n和m分别为列行最大序号;p为循环计数,第p次大循环;stop为总个数,当re数组中有stop个数时截止。

2021-03-18 21:18:17 56

原创 1*1的卷积和全连接层的区别

1*1卷积全连接层

2021-03-18 15:07:40 3263

原创 Python类的属性和类的实例属性

a表示类的属性,而self.a表示类的实例属性,实例属性只能在__init__中定义,且不可通过类名来调用实例属性,如下面的print(A.b)class A: a = 1 # 类的属性 def __init__(self): self.b = 2 # 实例属性 c = 3 def fun(self): self.e = 4 f = 5ex = A()print(ex.a) # 显示 1print(ex.b

2021-03-17 21:34:45 104

原创 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。方法1:双指针法首尾两个指针,当首指针指到偶数,尾指针指到奇数时,交换,两指针指到同一位置时结束Pythonclass Solution: def exchange(self, nums: List[int]) -> List[int]:

2021-03-17 16:09:33 51

原创 剑指 Offer 17. 打印从1到最大的n位数

剑指 Offer 17. 打印从1到最大的n位数输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]1.不考虑大数时**************************************************************************************Python方法1:寻找最后一个数9XX9,从1开

2021-03-16 20:19:22 64 1

原创 剑指 Offer 11. 旋转数组的最小数字

剑指 Offer 11. 旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1Python方法1:re = 数组第一个数遍历数组,若一个数小于re则输出;否则将此数赋值给reclass Solution: def minArray(self, n

2021-03-15 21:54:12 48

原创 剑指 Offer 05. 替换空格

剑指 Offer 05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。输入:s = “We are happy.”输出:“We%20are%20happy.”Python方法1:建立新数组遍历字符串,若为非空格,将该字符‘x’存入数组;若为空格,将‘%20’存入数组将数组中字符拼接class Solution: def replaceSpace(self, s: str) -> str: res = [] for

2021-03-15 11:00:41 60

原创 剑指 Offer 03. 数组中重复的数字

03. 数组中重复的数字在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3方法1:使用内置函数排序遍历数组,判断nums[i]是否等于nums[i+1]class Solution: def findRepeatNumber(self, nums: List[int]) -&gt

2021-03-12 20:49:36 77

原创 CycleGAN实现斑马变马 结构主体代码分析(附加内容待完成)

摘要实验是使用CycleGAN网络,实现的一种图片对图片的变化,输入原始图片,即可得到变换后的输出图片。网络主体由四部分组成:G_A2B:生成器1,输入为A类图片(马的图片),输出为B类图片(斑马图片)。real_A —> fake_BG_B2A:生成器2,输入为B类图片(斑马图片),输出为A类图片(马的图片)。real_B —> fake_AD_A:判别器1,输入为real_A或fake_A,输出是0或1。D_B:判别器2,输入为real_B或fake_B,输出是0或1。

2020-10-27 15:59:33 983

原创 神经网络作业

import numpy as npdef sgn(i): if i>0 or i == 0: out = 1 else: out = -1 return out x = np.asarray([[1,2],[2,1],[3,2],[0,0],[-1,-3],[-2,3]]) dp = [-1, -1, -1, 1, 1, 1]...

2020-04-17 23:12:11 423

原创 batch size和模型宽度对训练结果的影响

这里写目录标题一级目录1二级目录11三级目录11111111111111111111一级目录1111111111111111111二级目录1111111111111三级目录111111111...

2020-03-30 19:26:29 1518

原创 模型选择、欠拟合和过拟合

参考书籍《动手学深度学习》(PyTorch版)0. 训练误差和泛化误差在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。计算训练误差和泛化误差可以使用之前介绍过的损失函数,例如线性...

2020-03-13 23:08:36 513

原创 Python学习

super() 函数super() 函数是用于调用父类(超类)的一个方法。super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。语法super(type[, object-or-type])type – ...

2020-03-10 17:51:41 81

原创 Pytorch学习

《动手学深度学习》(PyTorch版)

2020-03-01 23:51:22 128

转载 生成式对抗网络GAN

GAN学习GAN 发展历程

2020-02-26 21:07:42 140

原创 CIFAR-10数据集训练-Tensorflow1.0

1.CIFAR-10数据集下载、解压import urllib.requestimport osimport tarfile使用爬虫urlib库对网址 https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz 内容进行下载;tarfile库对压缩文件解压。#下载url = 'https://www.cs.toronto.edu/~...

2020-02-24 20:28:10 1120

原创 Ubuntu18.04安装CUDA10.2 + cuDNN v7.6.5

Ubuntu18.04安装CUDA10.2 + cuDNN v7.6.5CUDA下载网址cuDNN下载网址1.安装CUDA10.2NVIDIA CUDA Linux官方安装指南1.1 安装前检查系统是否具有支持CUDA的GPU如果您的显卡来自NVIDIA,并且在支持CUDA的GPU列表中列出,则您的GPU具有CUDA功能。1.2 检查Linux版本是否支持 CUDAUbuntu1...

2020-02-14 15:28:04 10485 6

pikachu.zip

压缩包内有由MXNet提供的im2rec工具将图像转换成了二进制的RecordIO格式的数据,还有转回PNG格式的图片,label信息存放在json文件中

2020-04-02

空空如也

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

TA关注的人

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