• 选项卡 Stack trace —— 是程序调用堆栈,这里看到脚本调用的顺序,包括哪个地方执行错误的;
  • 选项卡 Request —— 是一些运行环境的信息,包括:
    • Request —— 请求简介;
    • Headers —— 请求头信息;
    • Query String —— URL 请求参数,用户提交的 GET 请求,PHP 超级全局变量 $_GET 里的内容
    • Body —— 表单提交的数据,PHP 超级全局变量 $_POST 里的内容
    • Files —— 用户上传文件的数据,PHP 超级全局变量 $_FILES 里的内容
    • Session —— 当前用户会话信息,PHP 超级全局变量 $_SESSION 里的内容
    • Cookies —— 当前用户的 Cookie 信息,PHP 超级全局变量 $_COOKIE 里的内容
  • 选项卡 App —— 应用启动信息,执行逻辑,包括路由调用、中间件调用、控制器调用、模板文件等信息;
  • 选项卡 User —— 登录用户信息,以及浏览器等客户端信息;
  • 选项卡 Context —— 环境信息,项目 .env 里的内容等;
  • 选项卡 Debug —— 将显示异常发生之前发生的事情。比如查询、日志和转储。在转储旁边,我们还显示您将 dump 语句放在何处的文件名等。

上面只是一个简单介绍,请先按照课程思路走下去,后续想要深入学习 Laravel Ignition ,请见 翻译:Laravel Ignition 功能全解析

1使用zh-CN.json 自定义配置文件

这是 Laravel 提供的本地化特性,使用 __() 函数来辅助实现。按照约定,本地化文件存储在 resources/lang 文件夹中,为 JSON 格式。在 config/app.php 文件中,我们设置了:

对应翻译文件就是 resources/lang/zh-CN.json ,需新建此文件:

resources/lang/zh-CN.json

2使用中文语言包

会有很多人会遇到翻译 Laravel 自带模板的问题,所以我们无需自己一个个去翻译,这种通用的问题找找扩展包来处理即可。

我们将使用 Laravel Lang 项目来实现,此项目支持了 52 个国家的语言,使用以下命令安装:

完成上面的操作后,将项目文件 config/app.php 中的下一行

替换为:

Laravel Lang 同自定义语言包一样,都是根据 config/app.php 里 locale 的选项来选择语言的。

值得一提的是,如果你想修改扩展包提供的语言文件,可以使用以下命令发布语言文件到项目里:

 

MySQL有两种常用的引擎类型:MyISAM和InnoDB。目前只有InnoDB引擎类型支持外键约束。InnoDB中外键约束定义的语法如下:

 

例如:

 

InnoDB也支持使用ALTER TABLE来删除外键:

 

 

CASCADE
在父表上update/delete记录时,同步update/delete掉子表的匹配记录

SET NULL
在父表上update/delete记录时,将子表上匹配记录的列设为null (要注意子表的外键列不能为not null)

NO ACTION
如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作

RESTRICT
同no action, 都是立即检查外键约束

SET NULL
父表有变更时,子表将外键列设置成一个默认的值 但Innodb不能识别

 

NULL、RESTRICT、NO ACTION
删除:从表记录不存在时,主表才可以删除。删除从表,主表不变
更新:从表记录不存在时,主表才可以更新。更新从表,主表不变
CASCADE
删除:删除主表时自动删除从表。删除从表,主表不变
更新:更新主表时自动更新从表。更新从表,主表不变
 
SET NULL
删除:删除主表时自动更新从表值为NULL。删除从表,主表不变
更新:更新主表时自动更新从表值为NULL。更新从表,主表不变

 

外键约束属性: RESTRICT | CASCADE | SET NULL | NO ACTION  外键的使用需要满足下列的条件:

1. 两张表必须都是InnoDB表,并且它们没有临时表。

2. 建立外键关系的对应列必须具有相似的InnoDB内部数据类型。

3. 建立外键关系的对应列必须建立了索引。

4. 假如显式的给出了CONSTRAINT symbol,那symbol在数据库中必须是唯一的。假如没有显式的给出,InnoDB会自动的创建。

如果子表试图创建一个在父表中不存在的外键值,InnoDB会拒绝任何INSERT或UPDATE操作。如果父表试图UPDATE或者DELETE任何子 表中存在或匹配的外键值,最终动作取决于外键约束定义中的ON UPDATE和ON DELETE选项。InnoDB支持5种不同的动作,如果没有指定ON DELETE或者ON UPDATE,默认的动作为RESTRICT:

1. CASCADE: 从父表中删除或更新对应的行,同时自动的删除或更新自表中匹配的行。ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持。

2. SET NULL: 从父表中删除或更新对应的行,同时将子表中的外键列设为空。注意,这些在外键列没有被设为NOT NULL时才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持。

3. NO ACTION: InnoDB拒绝删除或者更新父表。

4. RESTRICT: 拒绝删除或者更新父表。指定RESTRICT(或者NO ACTION)和忽略ON DELETE或者ON UPDATE选项的效果是一样的。

5. SET DEFAULT: InnoDB目前不支持。

外键约束使用最多的两种情况无外乎:

1)父表更新时子表也更新,父表删除时如果子表有匹配的项,删除失败;

2)父表更新时子表也更新,父表删除时子表匹配的项也删除。

前一种情况,在外键定义中,我们使用ON UPDATE CASCADE ON DELETE RESTRICT;后一种情况,可以使用ON UPDATE CASCADE ON DELETE CASCADE。

 

当执行外键检查之时,InnoDB对它照看着的子或父记录设置共享的行级锁。InnoDB立即检查外键约束,检查不对事务提交延迟。

要使得对有外键关系的表重新载入转储文件变得更容易,mysqldump自动在转储输出中包括一个语句设置FOREIGN_KEY_CHECKS为0。这避免在转储被重新装载之时,与不得不被以特别顺序重新装载的表相关的问题。也可以手动设置这个变量:

mysql> SET FOREIGN_KEY_CHECKS = 0;

mysql> SOURCE dump_file_name;

mysql> SET FOREIGN_KEY_CHECKS = 1;

如果转储文件包含对外键是不正确顺序的表,这就以任何顺序导入该表。这样也加快导入操作。设置FOREIGN_KEY_CHECKS为0,对于在LOAD DATA和ALTER TABLE操作中忽略外键限制也是非常有用的。

InnoDB不允许你删除一个被FOREIGN KEY表约束引用的表,除非你做设置SET FOREIGN_KEY_CHECKS=0。当你移除一个表的时候,在它的创建语句里定义的约束也被移除。

如果你重新创建一个被移除的表,它必须有一个遵从于也引用它的外键约束的定义。它必须有正确的列名和类型,并且如前所述,它必须对被引用的键有索引。如果这些不被满足,MySQL返回错误号1005 并在错误信息字符串中指向errno 150。

 

 

 

 

 

1.生成命令文件

2.编辑生成文件app/Console/Commands/MakeTransformer.php

3.创建模板文件app/Console/Commands/stubs/transformer

4.使用命令 ,可以没有后缀

文件路径app/Transformers/{name}.php

1.编辑html

2.JavaScript 脚本

3.laravel php config/filesystems.php 编辑配置文件,添加uploads

在controller编辑代码

 

 

1. 安装

为了保险期间先创建一个分支

安装扩展包

1.浏览器打开分享链接

2.在www.baidu后插入wp

3选择好要下载的文件,点击会看见下载地址,在此之前,先做一下配置否则加速不会生效

4安装,谷歌插件,然后点击插件,选择opera-> opera 12.14

5.返回第三部的页面点击下载即可,速度最高可以实现2M—3M,比百度的100kb强太多,亲测有用

CUDA和CuDNN一般都是结伴而行,如果需要CUDA,必然会需要CuDNN。

 

CuDNN是什么?

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如加州大学伯克利分校的流行caffe软件。简单的,插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。

 

CuDNN如何安装?

Cudnn的官网下载地址为:https://developer.nvidia.com/cudnn

点击Download CuDNN 即可开始下载。但是对于第一次下载的人来说,没有这么容易。因为下载这个软件是需要账号的。如果你没有登录账号会跳转到登录页面。

没账号的选择Join 注册账号,有账号的自然是选择Login登录账号。

输入邮箱和密码既可登录.

登录之后就可以开始下载了。下载的时候记得选择正确的版本。比如我们电脑上安装的是CUDA9.0 ,那么就选择Download cuDNN v7.5.0     。 点击后需要选择对应的操作系统。

下载之后的文件名类似上图。双击可以打开。

打开后里面主要是3个目录,一个文件。 三个目录分别是bin、include、lib

选中上面的三个文件复制到C:\Program Files\NVIDIA GPU Computin Toolkit\CUDA\v9 , 覆盖该目录下原有的文件,就算安装成功了。

有些教程可能会还会教你设置环境变量,一般来说环境变量是自动设置,全程都无需手动设置。

 

需要注意的点:

官网默认值显示了4个版本,如果想要下载更早的版本请点击底部的Archived CuDNN Release。

比如网上流传的 OpenFaceswap 需要的CUDA版本虽然是CUDA9.0 但是需要的CuDNN并非v7.5.0 ,而是V7.0.5 。这两个版本很容易让人搞错,一旦搞错,运行Openfaceswap就会出现问题….

下载 CuDNN v7.0.5  后的安装文件如下图

安装方法和上面是一样的,复制,覆盖。

前言

几乎所有的视频换脸程序(deepfakes)都需要CUDA的支持。 Fakeapp,Openfaceswap,FaceSwap,DeepFaceLab这些程序

如果想要跑得快就必须用GPU加速,而想要使用NVIDIA卡的GPU必然会使用CUDA。

CUDA 倒是何方圣神?

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN………..

专业描述百科上很多,也许你每一个字都能看懂,但是连起来确懵了。没关系,你只要记住开头的那句,想要跑得快就必须要GPU,而要使用N卡的GPU就必须要有CUDA的支持。

CUDA 如何安装?

准备开始安装之前可以先简单了解下CUDA的版本,因为安装CUDA最重要的就是选对版本。如果版本不对,程序跑起来就会出错。

从 2007年发布的CUDA Toolkit 1.0 到2019年的CUDA Toolkit 10.1 ,大大小小版本加起来不少于是个20个。目前用的比较多的是CUDA9 和CUDA10

CUDA 和驱动版本的对应关系也可以了解一下。 目前大部分换脸软件都是支持CUDA9,像DeepFaceLab已经支持最新的CUDA10.1 。

下面就以安装CUDA9为例,展示一下,如何安装这个深度学习的必备工具。

 

首先,当然是下载软件。

CUDA9的官方下载地址为:https://developer.nvidia.com/cuda-90-download-archive

CUDA10.1的选在地址为:https://developer.nvidia.com/cuda-downloads

 

下载的时候需要正确选择操作系统,内核版本,操作系统版本。 上图为针对window10  x64

正确选择类型后往下拉就能看到下载按钮了,一般我们只需要下载Base Installer 。 下面的Patch1,Patch2是更新补丁,不装也没关系。

下载之后双击安装文件,稍等片刻会让你设置CUDA的缓存目录,这个默认即可。

点击OK后开始出现进度条。这个环节其实是在解压CUDA

自动做系统检测。

点击绿色按钮,同意并继续。

安装选项,直接默认,点击NEXT

勾选,继续 NEXT

中途会跳出一个Window Security 的提示,选择安装(Install)即可。

继续Next

 

安装结束之后CLOSE 或者右上角X掉就可以了。  这个软件的安装过程并不复杂,但是可能会遇到一些问题。

 

比如被360等杀毒软件拦截,针对这种情况,先把杀毒软件推出,安装即可。

还有一些情况是直接显示安装失败,很大的原因可能是版本冲突的问题,如果现在安装的版本比你电脑上原先的版本要低,那么肯定是安装不上的。遇到这种情况,可以先把 之前的NVIDIA相关的程序全部卸载,然后再安装。

如果你的操作系统为win7 ,那么最开始的时候记得选win7即可。

如果你想安装CUDA10,那么只要下载CUDA10即可,安装过程完全一样。