【Laravel 10迁移外键约束全攻略】:掌握数据库结构稳定的核心技巧

第一章:Laravel 10迁移外键约束概述

在 Laravel 10 中,数据库迁移系统为开发者提供了强大的工具来定义和管理数据库结构,其中外键约束是维护数据完整性的关键机制。通过迁移文件中的 Schema 构建器,可以轻松地创建表之间的关联关系,并确保引用完整性。

外键约束的作用

外键用于建立两个表之间的链接,通常指向另一张表的主键。它能防止在子表中插入无效的数据,并可在父表记录删除或更新时触发级联操作。
  • 确保数据一致性与引用完整性
  • 支持级联删除(onDelete)与级联更新(onUpdate)
  • 可定义限制、设置为空或置为默认值等删除行为

定义外键的语法示例

以下代码展示如何在 Laravel 10 迁移中创建一个带有外键约束的表:
// 创建 posts 表并添加 user_id 外键
Schema::create('posts', function (Blueprint $table) {
    $table->id();
    $table->unsignedBigInteger('user_id');
    $table->string('title');
    $table->text('content');
    $table->timestamps();

    // 添加外键约束,关联 users 表的 id 字段
    $table->foreign('user_id')
          ->references('id')->on('users')
          ->onDelete('cascade'); // 当用户删除时,其文章一并删除
});
上述代码中,foreign() 方法指定字段名,references()on() 定义被引用的列和表,onDelete('cascade') 设置级联删除策略。

外键约束选项对比

选项行为说明
cascade父记录删除/更新时,子记录同步删除/更新
restrict阻止删除/更新操作,若存在关联子记录
set null父记录删除/更新时,外键设为 NULL(字段需允许 NULL)
no action类似 restrict,具体行为依赖数据库引擎

第二章:外键约束的基础理论与设计原则

2.1 理解数据库外键的定义与作用

外键(Foreign Key)是关系型数据库中用于建立表与表之间关联的核心约束机制。它指向另一张表的主键,确保数据的引用完整性。
外键的基本语法
CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);
该语句在 Orders 表中创建外键 customer_id,引用 Customers 表的主键。数据库将拒绝插入无效的 customer_id,防止出现“孤立订单”。
外键的作用优势
  • 维护数据一致性:确保子表中的关联值在父表中真实存在
  • 防止误删关键记录:若子表存在引用,删除父表记录将被阻止
  • 支持级联操作:可配置 ON DELETE CASCADE 自动删除相关数据

2.2 外键约束的参照完整性机制解析

外键约束是保证数据库参照完整性的核心机制,通过建立表间关联,确保子表中的外键值必须在主表的主键中存在。
约束触发行为
当执行插入、更新或删除操作时,数据库引擎会自动校验外键关系。若子表引用了不存在的主表记录,操作将被拒绝。
级联操作配置
可定义级联规则以自动化处理关联数据:
ALTER TABLE orders 
ADD CONSTRAINT fk_customer 
FOREIGN KEY (customer_id) 
REFERENCES customers(id) 
ON DELETE CASCADE 
ON UPDATE SET NULL;
上述语句表示:删除主表记录时,自动删除子表相关订单;更新主键时将外键设为 NULL。
  • ON DELETE CASCADE:级联删除
  • ON UPDATE SET NULL:更新时置空外键
  • RESTRICT:禁止破坏引用的操作

2.3 Laravel迁移系统中外键的支持机制

Laravel 的迁移系统通过流畅的语法支持数据库外键约束,确保数据完整性与表间关联的可靠性。
外键定义语法
Schema::create('posts', function (Blueprint $table) {
    $table->id();
    $table->unsignedBigInteger('user_id');
    $table->foreign('user_id')
          ->references('id')->on('users')
          ->onDelete('cascade');
});
上述代码在 posts 表中创建指向 users.id 的外键。其中 onDelete('cascade') 表示当用户被删除时,其发布的文章也一并删除。
外键约束的启用与限制
  • 需确保数据库引擎为 InnoDB(MySQL 默认)以支持外键;
  • 关联字段类型必须一致,如 unsignedBigInteger 对应 id()
  • 父表必须先存在,否则迁移将抛出异常。

2.4 外键命名规则与索引的自动生成

在关系型数据库设计中,外键的命名规范直接影响维护效率和可读性。推荐采用 `<关联表名>_id_fk` 的统一格式,例如 `order_user_id_fk` 明确表达来源。
命名规范示例
  • user_profile_user_id_fk:指向 user 表的外键
  • order_product_id_fk:指向 product 表的外键
索引的自动创建机制
多数数据库系统(如 MySQL、PostgreSQL)在外键定义时会自动创建索引,以提升关联查询性能。例如:
ALTER TABLE order ADD CONSTRAINT order_user_id_fk 
FOREIGN KEY (user_id) REFERENCES user(id);
该语句执行后,MySQL 会自动在 order.user_id 上创建 B-Tree 索引,避免全表扫描,显著加快 JOIN 和 WHERE 查询速度。

2.5 软删除与外键约束的协同设计考量

在引入软删除机制时,外键约束可能引发数据一致性问题。当父记录被标记为“已删除”但仍保留在数据库中时,子表的外键引用仍有效,但业务逻辑上该记录已不可用。
外键行为分析
  • 级联删除(CASCADE)在软删除场景下不适用,可能导致误删关联数据;
  • 设置为 NULL(SET NULL)可缓解问题,但破坏引用完整性;
  • 推荐使用 RESTRICT 或 NO ACTION 阻止物理删除,依赖应用层控制软删除状态。
代码实现示例
ALTER TABLE orders 
ADD CONSTRAINT fk_customer_soft_delete 
FOREIGN KEY (customer_id) REFERENCES customers(id) 
ON DELETE RESTRICT;
该约束确保即使客户被软删除(is_deleted = true),也不会级联影响订单表,由应用逻辑判断 is_deleted 字段决定是否允许新订单关联。

第三章:Laravel中创建外键的实践操作

3.1 使用Schema Builder定义外键字段

在数据模型设计中,外键是维护表间关系的核心机制。Schema Builder 提供了声明式语法来定义外键字段,确保数据完整性与关联查询效率。
外键字段定义语法
ALTER TABLE orders 
ADD CONSTRAINT fk_customer_id 
FOREIGN KEY (customer_id) 
REFERENCES customers(id) 
ON DELETE CASCADE;
该语句通过 FOREIGN KEY 关键字将 orders.customer_id 映射至 customers.idON DELETE CASCADE 确保主表删除时自动清理从表记录,避免孤儿数据。
关键参数说明
  • REFERENCES:指定被引用表及其主键字段;
  • ON DELETE:定义删除行为,可选值包括 CASCADE、SET NULL 和 RESTRICT;
  • CONSTRAINT 名称:便于后续修改或删除约束。

3.2 在迁移文件中添加外键约束的方法

在数据库迁移过程中,外键约束的正确配置对数据完整性至关重要。通过迁移文件,可以以声明式方式定义表间关系。
使用迁移语法添加外键
以 Laravel 的 PHP 迁移为例:
Schema::table('orders', function (Blueprint $table) {
    $table->unsignedBigInteger('user_id');
    $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
上述代码为 orders 表的 user_id 字段添加外键,引用 users 表的 id 字段,并设置级联删除。其中,onDelete('cascade') 确保用户删除时其订单一并清除,维护数据一致性。
关键步骤说明
  • 先定义字段类型(如 unsignedBigInteger),确保与目标主键类型一致;
  • 再调用 foreign() 方法建立关联;
  • 指定引用表和字段,并可选配置 onDelete 或 onUpdate 行为。

3.3 处理多字段复合外键的实际案例

在电商系统中,订单项常通过商品ID和仓库ID的组合唯一确定库存来源,形成多字段复合外键。这种设计确保数据引用完整性,避免孤立记录。
表结构设计示例
CREATE TABLE inventory_allocation (
    order_item_id BIGINT NOT NULL,
    product_id BIGINT NOT NULL,
    warehouse_id INT NOT NULL,
    quantity INT,
    PRIMARY KEY (order_item_id),
    FOREIGN KEY (product_id, warehouse_id) 
        REFERENCES product_warehouse (product_id, warehouse_id)
);
该SQL定义了一个库存分配表,其中 product_idwarehouse_id 联合引用另一张表的主键。数据库层面强制约束:只有当某商品在指定仓库中存在记录时,才能为其分配库存。
数据一致性保障
  • 防止插入无效的库存分配记录
  • 更新或删除主表记录时触发级联检查
  • 提升查询性能,复合索引支持高效检索

第四章:外键维护、修改与异常处理

4.1 修改已有表结构时的外键调整策略

在对已有表结构进行修改时,外键约束的处理尤为关键。若不妥善管理,可能导致数据不一致或操作失败。
外键调整常见场景
  • 重命名被引用的主键字段
  • 修改外键列的数据类型
  • 删除或迁移关联表
安全调整步骤
-- 1. 暂时删除外键约束
ALTER TABLE orders DROP FOREIGN KEY fk_customer_id;

-- 2. 修改列结构
ALTER TABLE orders MODIFY customer_id INT NOT NULL;

-- 3. 重新添加外键
ALTER TABLE orders ADD CONSTRAINT fk_customer_id 
FOREIGN KEY (customer_id) REFERENCES customers(id) 
ON DELETE CASCADE;
上述操作确保在不影响历史数据的前提下完成结构变更。先移除外键避免修改冲突,调整完成后重建约束以恢复完整性。ON DELETE CASCADE 设置可自动清理关联记录,提升数据一致性维护效率。

4.2 删除外键约束的安全流程与回滚方案

在生产环境中删除外键约束需谨慎操作,避免引发数据一致性问题。建议采用分阶段策略,确保可追溯与快速恢复。
安全执行流程
  • 评估外键依赖关系,确认删除影响范围
  • 在维护窗口期间执行操作,降低业务影响
  • 先禁用约束而非直接删除,观察系统行为
回滚方案设计
-- 记录原外键定义
SELECT 
  CONSTRAINT_NAME, 
  TABLE_NAME, 
  COLUMN_NAME 
FROM information_schema.KEY_COLUMN_USAGE 
WHERE REFERENCED_TABLE_NAME = 'parent_table';

-- 恢复外键示例
ALTER TABLE child_table 
ADD CONSTRAINT fk_parent 
FOREIGN KEY (parent_id) REFERENCES parent_table(id);
上述查询用于提取被删除外键的元信息,便于重建。参数parent_table为引用表名,child_table为从属表,确保恢复时引用完整性一致。

4.3 迁移执行失败时的外键相关错误排查

在数据库迁移过程中,外键约束常导致执行失败。最常见的问题是目标表中缺少被引用的父记录,或数据同步顺序不当。
典型错误表现
数据库通常报错类似:INSERT or UPDATE on table "child" violates foreign key constraint。这表明子表插入的外键值在父表中不存在。
排查步骤
  1. 确认父表数据已成功加载
  2. 检查迁移脚本中表的加载顺序,确保父表先于子表处理
  3. 验证外键字段的数据类型和值是否一致
调整同步顺序示例
-- 正确顺序:先插入主表
INSERT INTO users (id, name) VALUES (1, 'Alice');

-- 再插入依赖外键的子表
INSERT INTO orders (id, user_id, amount) VALUES (101, 1, 99.99);
上述SQL确保了数据引用完整性,避免因顺序颠倒引发外键冲突。

4.4 数据库引擎兼容性与外键行为差异

不同数据库引擎在处理外键约束时存在显著行为差异,尤其在事务支持、级联操作和延迟检查方面。例如,InnoDB 支持完整的外键功能,而 MyISAM 则完全忽略外键定义。
常见引擎对比
  • InnoDB:支持外键、级联更新/删除、事务回滚;
  • MySQL NDB Cluster:部分支持外键,性能受限;
  • PostgreSQL:完整支持外键,支持可延迟约束(DEFERRABLE);
  • SQLite:默认禁用外键,需手动启用 PRAGMA foreign_keys=ON。
外键行为示例
PRAGMA foreign_keys = ON;
CREATE TABLE orders (
  id INTEGER PRIMARY KEY,
  user_id INTEGER,
  FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
该 SQLite 示例中,开启外键支持后,删除用户时将自动级联删除其订单。参数 ON DELETE CASCADE 确保引用完整性,但若引擎不支持则无效。
兼容性建议
跨平台迁移时应验证目标引擎的外键支持级别,避免依赖未实现的约束行为。

第五章:构建稳定数据库结构的最佳实践总结

合理设计表结构与字段类型
选择合适的数据类型能显著提升查询效率并减少存储开销。例如,使用 INT 而非 VARCHAR 存储用户ID,避免隐式类型转换带来的性能损耗。对于时间数据,优先采用 TIMESTAMPDATETIME,并确保时区一致性。
规范化与适度反范式化结合
遵循第三范式(3NF)减少数据冗余,但在高并发读场景下可适度反范式化。例如,在订单表中冗余用户姓名字段,避免频繁关联用户表:
CREATE TABLE orders (
  id BIGINT PRIMARY KEY,
  user_id BIGINT NOT NULL,
  user_name VARCHAR(64) NOT NULL, -- 冗余字段提升查询性能
  total DECIMAL(10,2),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  INDEX idx_user_id (user_id)
);
索引策略优化
为高频查询字段建立复合索引,遵循“最左前缀”原则。以下为常见查询的索引配置示例:
查询语句推荐索引
SELECT * FROM logs WHERE app_id = ? AND date = ?INDEX idx_app_date (app_id, date)
SELECT * FROM users WHERE status = ? ORDER BY created_atINDEX idx_status_created (status, created_at)
事务与锁机制控制
在高并发写入场景中,避免长事务导致锁等待。建议拆分大事务为小批次操作,并使用乐观锁处理冲突。例如,更新库存时采用如下方式:
  • 检查当前版本号或时间戳
  • 执行带条件的更新:UPDATE products SET stock = ?, version = ? WHERE id = ? AND version = ?
  • 若影响行数为0,则重试或提示冲突
定期维护与监控
启用慢查询日志,配合 Prometheus + Grafana 监控 QPS、连接数和缓冲池命中率。每月执行一次统计信息更新(ANALYZE TABLE),确保执行计划准确性。
内容概要:本文详细介绍了利用二维时域有限差分法(2D FDTD)对光子晶体90度弯曲波导进行数值仿真的Matlab代码实现。该仿真方法旨在精确分析光子晶体波导在弯曲结构下的光传输特性,揭示其导光机制与缺陷模式的调控原理。资源包含完整的Matlab程序代码,支持对空间网格划分、介电常数分布、边界条件(如PML吸收边界)及光源参数等关仿真要素的灵活设置与优化,便于用户复现结果并开展深入研究。通过仿真可直观获得光场在波导中的传播动态、透射谱特性以及能量损耗情况,为高性能光子器件的设计与优化提供理论依据和技术支持。; 适合人群:具备电磁场理论、光学基础和Matlab编程能力,从事光子学、集成光学或纳米光子器件研究的研究生、科研人员及工程技术开发者。; 使用场景及目标:①学习和掌握FDTD方法在周期性介质(光子晶体)器件仿真中的具体应用流程;②研究90度弯波导的光传输性能,分析弯曲损耗来源并探索低损耗结构优化方案;③作为光子集成电路中关无源器件的设计与教学参考案例,服务于学术研究与工程实践。; 阅读建议:建议结合光子晶体能带理论与FDTD算法基本原理进行系统学习,运行代码时应逐步调整结构参数与仿真设置,观察光场演化和输出结果的变化,以深化对物理现象的理解,并可在此基础上拓展至其他复杂光子结构(如分束器、谐振腔)的仿真分析。
内容概要:本文系统研究了基于共识的捆绑算法(Consensus-Based Bundle Algorithm, CBBA)在多智能体多任务分配中的应用,重点聚焦于远程太空船交会与维修任务中的相对运动规划(RPO)问题。通过构建多航天器协同任务场景,采用Matlab代码实现了CBBA算法的全过程仿真,展示了其在分布式决策框架下高效完成任务分配的能力。研究深入探讨了任务收益建模、路径规划约束、通信延迟与动态重规划等关环节,验证了CBBA在确保任务分配一致性、避免资源冲突、适应动态环境变化以及优化整体任务效能方面的优越性能,为复杂空间任务中的自主协同提供了可靠的技术路径。; 适合人群:具备控制理论、航天动力学、分布式优化或多智能体系统等相关背景,从事航天任务规划、智能优化算法研究或相关工程实践的研究生、科研人员及航空航天领域工程师。; 使用场景及目标:①为多航天器在轨服务(如交会对接、空间维修)提供高效、鲁棒的分布式任务分配解决方案;②深入理解CBBA算法的核心机制及其在高动态、强约束空间任务中的适应性与优化潜力;③推动分布式人工智能算法在航天工程实际系统中的集成与应用验证。; 阅读建议:建议读者结合提供的Matlab代码,重点剖析任务建模逻辑、收益函数设计、共识迭代过程及收敛性分析模块,通过修改场景参数进行仿真实验,以深化对多智能体协同决策机制与算法性能边界条件的理解。
内容概要:本文研究了一种计及自适应预测修正的微电网模型预测控制(MPC)优化调度方法,并提供了基于Matlab的完整代码实现。该方法融合自适应预测机制与MPC滚动优化框架,有效应对微电网中可再生能源出力波动、负荷需求不确定性等多重挑战,显著提升调度决策的精度与系统鲁棒性。通过构建动态反馈校正机制,实时修正预测模型误差,优化未来时段的运行策略,实现对微电网内部分布式电源、储能系统及可控负荷的协同调控,达成经济性、稳定性与环保性多目标的综合优化。所提方法具有较强的工程实用性与理论价值,为现代智能微电网的能量管理系统提供了可靠的技术支撑。; 适合人群:具备电力系统分析、优化控制理论基础及Matlab编程能力的研究生、科研人员,以及从事微电网、智能配电系统、新能源并网等领域技术研发的工程技术人员。; 使用场景及目标:①应用于高校与科研机构开展微电网优化调度算法的仿真研究与性能验证;②服务于电力企业或能源科技公司开发先进能量管理系统(EMS),提升微电网运行效率与可再生能源消纳能力;③作为自动化、电气工程等专业的高级教学案例,帮助学生深入理解MPC在复杂能源系统中的建模、优化与反馈控制全过程。; 阅读建议:建议读者结合Matlab代码逐模块分析算法实现流程,重点掌握预测模型构建、滚动优化求解及反馈修正机制的设计逻辑,可通过调整预测时域、权重系数与扰动场景等参数进行仿真实验,深入理解各环节对系统性能的影响。
内容概要:本文围绕电力系统短期负荷预测问题,深入研究了基于极限学习机(ELM)及其智能优化算法的应用方法,提出并实现了白鲸优化算法(BWO)和鹭鹰优化算法(IBOA)对ELM模型的关参数进行寻优的技术路径。通过Matlab编程实现,优化后的模型有效提升了预测精度,降低了原始ELM因随机初始化带来的不稳定性和误差波动,增强了模型在面对电力负荷不确定性变化时的泛化能力和鲁棒性。研究系统阐述了ELM的基本原理、两种新型群智能优化算法的搜索机制及其在解决非线性参数优化问题上的优势,并通过实验对比验证了优化模型在均方根误差(RMSE)、平均绝对百分比误差(MAPE)等指标上的显著优越性,为电力系统负荷预测提供了高效可靠的解决方案。; 适合人群:具备电力系统分析、人工智能算法理论基础及Matlab编程能力的高校研究生、科研机构研究人员以及电力公司从事负荷预测、电网调度与能源管理的工程技术人员。; 使用场景及目标:①应用于电网调度中心的短期负荷预测业务,提高预测准确性,保障电力供需平衡;②为智能优化算法在电力工程领域的落地应用提供可复现的技术范例;③支撑电力市场出清、发电计划制定、储能系统配置及需求侧响应等关决策环节; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点理解ELM网络结构搭建、适应度函数设计、优化算法迭代流程及预测结果后处理等关步骤,通过调整数据集和参数设置,深入掌握模型调优技巧,并尝试将该方法迁移至风电、光伏功率预测等相似时序预测任务中。
下载代码方式:https://pan.quark.cn/s/d305330341ec 在当代科技领域中,华为作为中国顶尖的科技企业,持续研发先进技术以优化用户的使用感受。鸿蒙操作系统(HarmonyOS)是由华为独立设计的一款面向多场景的分布式操作系统,其目标在于消除不同设备间的隔阂,促成无障碍的联合工作。本指南将详尽阐释在非华为品牌的个人电脑上,如何运用鸿蒙超级终端、多屏联动(多视窗)特性以及NFC芯片,使这些功能得到充分的发挥。 鸿蒙超级终端作为鸿蒙系统的关特性之一,它将多样化的设备整合为一个统一体,使用户能够在多个设备之间无拘无束地转换和共享资源。对于非华为电脑的使用者而言,或许需要借助华为的电脑助手软件或特定的鸿蒙OS应用来实现与鸿蒙设备的对接。在完成相关软件的安装和配置后,用户能够借助超级终端特性将第三方电脑与华为手机、平板及其他鸿蒙设备进行配对,达成文件交换、屏幕显示同步乃至跨设备操作。 多屏联动(多视窗)特性是华为为增强工作效率而策划的特色功能。在非华为电脑上运用这一特性,用户能够将手机或平板的显示界面投射到电脑上,甚至可以在电脑上直接操控移动设备的应用,达成两个显示界面间的流畅配合。例如,用户可以在电脑上撰写文档的同时,在手机上查阅资料,两者同步进行,显著提升了工作效率。 NFC(近场通信)芯片是物联网技术的一种实践,它能够储存数据并与具备NFC功能的设备展开互动。在华为的生态系统里,NFC芯片常被用于迅速启动特定任务,如激活多屏联动。只需将设定了相应指令的NFC芯片贴附在电脑或手机上,轻轻触碰,就能自动启动多屏联动,极为便捷。 在实践这个指南的过程中,用户应留意以下几点: 1. 保证你的非华为电脑具备NFC功能,并且已安装了最新的华为电脑助...
内容概要:本文提出了一种基于非合作博弈理论的居民负荷分层调度模型,并采用双层鲸鱼优化算法进行求解,旨在应对风电出力不确定性下的电力系统负荷调度问题。该模型通过构建系统运营商与居民用户之间的双层博弈架构,上层以最小化负荷峰谷差为目标制定激励性电价信号,下层用户则在电价引导下优化用电行为以降低电费支出,最终实现纳什均衡状态。双层鲸鱼优化算法被用于高效求解该嵌套优化问题,在保证全局寻优能力的同时提升了收敛精度。仿真结果表明,该模型能有效实现削峰填谷,改善负荷曲线形态,增强电网对可再生能源的消纳能力,具有良好的应用前景。; 适合人群:具备一定电力系统基础知识和优化算法背景的研究生、科研人员及从事智能电网、需求响应、能源管理等领域的工程技术人员。; 使用场景及目标:①应用于高比例可再生能源接入的配电系统中,实现居民侧负荷的智能化调控;②为电力公司设计分时电价或激励型需求响应机制提供理论依据与技术支持;③作为双层优化、智能算法与博弈论在能源系统中融合应用的教学与研究案例。; 阅读建议:读者应重点关注非合作博弈的建模逻辑与双层优化问题的分解方法,建议结合Matlab代码实现部分,动手复现仿真过程,深入理解鲸鱼算法在上下层迭代求解中的实现细节,并尝试将其推广至多主体能源交互、虚拟电厂调度等更广泛的场景中。
源码链接: https://pan.quark.cn/s/a4b39357ea24 在深度学习领域,卷积神经网络(Convolutional Neural Network, CNN)是处理序列数据和图像数据的重要工具。 Keras 是一个高级神经网络API,它提供了便捷的方式来构建和训练CNN模型。 本文将深入探讨Keras中的`Conv1D`和`Conv2D`层的区别,帮助读者更好地理解和应用这两个关组件。 `Conv1D`和`Conv2D`的主要区别在于它们处理的数据维度。 `Conv1D`主要用于一维数据,如时间序列分析、文本分类等,而`Conv2D`则用于二维数据,如图像处理。 1. 数据维度: - `Conv1D`:该层接受一维输入,形状通常是 `(batch_size, time_steps, features)`。 在这里,`time_steps`表示序列的长度,`features`是每个时间步的特征数量。 - `Conv2D`:该层处理二维输入,例如图像,其形状为 `(batch_size, height, width, channels)`。 `height`和`width`代表图像的高度和宽度,`channels`通常对应RGB图像的三个颜色通道或单通道灰度图像。 2. 卷积核(Kernel): - `Conv1D`的卷积核也是一维的,沿着输入的时间轴进行滑动,对每个时间步的特征进行卷积操作。 - `Conv2D`的卷积核是二维的,它同时在图像的高度和宽度方向上滑动,可以捕获空间上的局部特征。 3. 参数设置: - `kernel_size`:对于`Conv1D`,它是一个整数,表示卷积核在时间轴上的跨度。 对于`Conv2D`,它是一个包含两个整数...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值