当前位置: 首页 > news >正文

人工智能的出现,给生命科学领域的研究带来全新的视角|行业前沿·25-01-22

小罗碎碎念

今天和大家分享一份白皮书,系统总结并陈述人工智能在生命科学领域的应用。

人工智能在生命科学领域的应用,具体包括——单细胞转录组、疾病诊疗、医疗文本处理、RNA结构预测等多个方面,通过这份报告,我们可以详细了解相关技术的研究现状、应用成果及未来展望。

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

目前正值标书写作之际,详细阅读这份标书,有助于老师们丰富自己的背景资料,同时也能够查漏补缺,快速的了解整个医工交叉行业的发展状况。

本报告内容较多,所以这期推送只能大致和大家分享一下主要架构,感兴趣的老师/同学请前往知识星球获取报告原文!


报告架构

  1. 单细胞转录组预训练基础模型
  2. 人工智能赋能细胞异质性刻画
  3. 人工智能赋能疾病诊疗
  4. 人工智能助力医疗文本处理
  5. 人工智能助力RNA结构预测
  6. 人工智能识别组学生物标志物
  7. 蛋白质语言大模型的前沿探索和展望
  8. 人工智能基因调控
  9. 人工智能赋能多组学融合

知识星球

如需获取推文中提及的各种资料,欢迎加入我的知识星球!


一、单细胞转录组预训练基础模型

该部分内容围绕单细胞转录组预训练基础模型展开,涵盖模型概述、构建过程、应用领域及未来展望,旨在利用人工智能挖掘单细胞数据价值,推动生命科学研究。

1-1:单细胞基础模型概述

高通量单细胞测序技术的发展产生了海量单细胞数据,传统算法难以有效处理,促使研究人员开发基于预训练人工智能的计算方法。

基础模型通过大规模自监督学习,学习数据规律并适应下游任务。

在单细胞转录组领域,Transformer模型成为构建基础模型的骨干网络架构,已有scBERT、Geneformer等多种预训练模型,本章对相关内容进行总结并展望未来研究方向。


1-2:单细胞基础模型构建

大规模单细胞数据集

单细胞基础模型训练需要庞大细胞数量以提供多样性。

hECA、CZ-cellxgene等细胞图谱收集了千万级单细胞数据,涵盖多种细胞类型和丰富元信息。

这些数据集对基因列表统一处理,并对基因表达矩阵进行标准化和对数变换等操作。


单细胞数据编码嵌入表示

需将表格型单细胞数据转化为适合Transformer处理的格式。基因名称常用one - hot编码和投影神经网络投影到高维嵌入空间,部分模型还引入外部知识编码。

基因表达值编码方式有排序编码、连续值投影编码和离散类别编码。此外,其他元信息和特殊字符也可编码到模型中。


预训练任务建模

主要采用类似于BERT的掩码预测(MLM)任务和类似于GPT的因果逐个生成(CLM)任务。

MLM任务通过随机屏蔽基因表达量让模型预测,可学习基因表达数据分布和结构,但对屏蔽策略敏感。

CLM任务在单细胞基因表达无天然顺序的情况下,不同模型有不同构建方式,训练效率较高,但获取细胞表征方式有待研究。


scFoundation建模方式

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

  • 输入处理:最左侧展示了输入数据,经过贝叶斯下采样(Bayesian down sampling)操作,之后进行掩码(Mask)处理。这里的T和S是代表特定的标识或数据类别。
  • 嵌入模块:经过掩码后的数据进入嵌入模块(Embedding Module),将数据转换为特定的向量表示形式。
  • 编码与池化:向量表示的数据分为零掩码(Zero Mask)和非零掩码(Non - zero)两部分,非零部分进入编码器(Encoder),之后进行池化(Pooling)操作,得到细胞嵌入(Cell embedding)。
  • 模型重建:零掩码部分和编码器输出共同进入解码器(Decoder),最终经过多层感知器(MLP),计算重建损失(Reconstruction loss),用于评估模型对原始数据的重建能力。

1-3:单细胞基础模型应用

预训练完成后,单细胞基础模型可应用于多种下游任务。

  1. 在基因和细胞嵌入表示方面,能输出具有生物学含义的嵌入表示,用于分析基因和细胞关系;
  2. 在单细胞类型注释任务中,可通过微调或特定设计实现细胞类型注释;
  3. 还可进行单细胞数据生成,包括基因扰动数据生成、跨模态数据预测等;
  4. 在推断调控网络和空间组学应用中也有出色表现,部分模型还设计了如单细胞药物响应预测等特色下游任务。

1-4:展望

未来研究方向包括结合单细胞多模态数据构建基础模型,探索单细胞基础模型中的涌现现象,以及利用单细胞基础模型实现疾病靶点发现和快速药物筛选,解决更多生命健康难题。


二、人工智能赋能细胞异质性刻画

该部分内容聚焦于人工智能赋能细胞异质性刻画,致力于解决单细胞测序数据分析面临的挑战,通过多种学习方法深入挖掘细胞异质性信息。

单细胞测序技术虽使研究人员能够深入探究细胞群体内部的异质性,但单细胞测序数据存在特征维度高、噪声大、稀疏程度高、批次效应强和技术差异大等问题。

人工智能技术为解决这些问题提供了有效途径,通过降噪和数据清洗、特征提取和降维、聚类和分类、数据整合和跨样本分析以及多组学联合分析等手段,从不同角度挖掘细胞异质性信息。这些人工智能方法主要分为无监督学习、弱监督学习和有监督学习三类。

在具体应用中,基于无监督学习的方法,如主成分分析、奇异值分解等传统机器学习方法,以及基于神经网络、自编码器等深度学习方法,可对单细胞数据进行预处理和特征提取,以获取低维嵌入表示。

弱监督学习方法则利用Bulk测序数据、公开数据库单细胞数据或细胞类型特异性先验知识等作为参考,提升细胞异质性刻画的准确性,如参考成分分析(RCA)等方法。

有监督学习方法借助已知细胞标注信息,通过计算细胞间相似度、运用机器学习和深度学习算法,更精准地识别和区分细胞类型或状态,像基于细胞间相似度的SingleR算法,以及基于深度学习的SuperCT、Cell BLAST等方法。


2-1:基于无监督学习的细胞异质性刻画方法

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

  1. 数据输入:最左侧是输入的单细胞数据,包括单细胞转录组数据(有m个基因、n个细胞)、单细胞染色质开放性数据(有m个峰、n个细胞 )、单细胞DNA甲基化数据(有m个CpG位点、n个细胞),这些数据以矩阵形式呈现。
  2. 分析方法:中间部分展示了两类无监督学习方法。传统机器学习方法包括基于PCA、基于K - means聚类、基于SVD、基于层次聚类、基于NMF等;深度学习方法包括基于NN、基于VAE、基于GAN、基于GNN、基于深度聚类等。这些方法用于对输入的单细胞数据进行分析处理。
  3. 应用:右侧是应用环节,经过无监督学习分析后的数据可用于降维、填补/增强、聚类等操作。降维用三维图示展示,填补/增强以矩阵形式呈现,聚类则用散点图表示。

2-2:基于弱监督学习的细胞异质性刻画方法

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

  1. 数据基础:最左侧展示了数据来源,包括转录组测序、表观组测序、空间组测序等。这些数据为后续分析提供基础。
  2. 弱监督学习相关要素:中间部分指出,在弱监督学习框架下,运用多种人工智能方法,如变分自编码器、参考成分分析、概率生成模型等,同时结合多种参考数据,例如Bulk测序数据、其他单细胞数据、Marker基因信息等进行分析。
  3. 应用:最右侧列出了相关应用,包括测序数据增强、细胞类型注释、解析调控网络等,通过这些应用实现对细胞异质性的刻画和深入研究。

2-3:基于有监督学习的细胞异质性刻画方法

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

  1. 数据集:图上方展示了两类数据集,带有标签的训练集,其中包含类型A(紫色)、类型B(橙色)、类型C(绿色)的细胞;待预测的测试集(蓝色)。
  2. 刻画方法
    • 基于细胞间相似度:通过比较细胞间相似度,将训练集中不同类型细胞的特征与测试集细胞关联,从而对测试集细胞进行分类。
    • 基于传统机器学习:以训练集有标签数据构建模型,如决策树等传统机器学习模型,利用模型对测试集细胞进行分类预测。
    • 基于深度学习:采用深度学习网络结构,如多层神经网络,通过训练集数据学习特征,进而对测试集细胞类型进行预测。

三、人工智能赋能疾病诊疗

该部分内容聚焦人工智能在疾病诊疗领域的应用,探讨了其关键技术、面临的挑战以及未来发展的机遇,展现了人工智能为医疗行业带来的变革与潜力。

3-1:人工智能赋能疾病诊疗的背景与关键技术

随着全球人口增长和老龄化,医疗资源短缺、成本上升,复杂疾病发病率增加,传统医疗模式难以满足需求,人工智能凭借强大的数据处理能力在医疗领域展现出巨大潜力。

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

机器学习和深度学习可用于疾病预测和个性化治疗;自然语言处理技术助力从医疗文本中提取关键信息;医疗图像分析技术能精准识别医学影像中的病变特征;知识图谱整合多源数据,支持智能化医疗决策。

生命科学领域的基础模型,如AlphaFold和单细胞转录组大模型,为理解生命复杂性和疾病诊疗提供了新视角和工具。


3-2:人工智能在疾病诊疗应用中面临的挑战

生物医学数据质量和隐私保护是亟待解决的核心问题,医疗数据的敏感性要求在数据处理各环节严格遵守法规,加强安全措施。

人工智能模型的可解释性和在不同环境下的适应能力也限制了其临床应用,“黑箱”特性使医生和患者难以信任诊断结果和治疗建议,而医疗环境的多样性和患者个体差异对模型的普适性和可靠性提出了更高要求 。


3-3:人工智能赋能疾病诊疗的未来机遇

尽管面临挑战,但人工智能在疾病诊疗领域仍充满机遇。

它可以通过个性化治疗和预测,结合个体多方面数据制定更有效的治疗方案,减少不必要治疗,降低成本,提升患者治疗体验。

同时,结合图像识别和自然语言处理技术,人工智能能够实现疾病的早期准确诊断,提高早期筛查效率和患者生存率

此外,借助远程医疗服务和智能化健康管理系统,人工智能还能扩大医疗服务覆盖范围,提高全球医疗资源利用效率,推动医疗健康服务向更加智能化和个性化的方向发展。


四、人工智能助力医疗文本处理

该部分内容围绕人工智能助力医疗文本处理展开,主要涵盖医疗大数据的分类与特点、自然语言处理技术在医疗文本中的应用,以及大语言模型带来的变革与发展。

4-1:医疗大数据分类与自然语言处理

医疗大数据来源广泛,包含临床、健康等多方面数据,从形式上可分为分类、序列和连续数据,从格式上分为结构化和非结构化数据

其中,非结构化医疗文本如电子病历等蕴含丰富信息,但处理难度大。自然语言处理技术成为从医疗文本中提取有用信息的关键,其处理流程包括句子边界识别、分词等多个环节。

通过这些技术,可将非结构化医疗文本转化为结构化数据,为后续临床研究和辅助诊疗提供支持。


4-2:文本表示学习与知识图谱构建

文本表示学习旨在将文本转化为计算机易识别的信息,常用方法有布尔模型、向量空间模型等,词分布嵌入类模型的出现提升了词表示能力。

在医疗文本处理中,Transformer架构结合大规模预训练有效解决了长距离依赖性问题,但缺乏领域医疗知识。为此,一些研究尝试将内部或外部知识融入模型,以增强语义理解能力。

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

知识图谱作为揭示实体关系的语义网络,在医疗领域广泛应用,通过整合医学知识,助力疾病智能辅助决策,如预测药物相互作用等。中文医疗知识图谱领域也在不断发展,出现了多个具有影响力的知识图谱。


4-3:大语言模型在医疗文本中的应用

大语言模型在文本理解与生成方面表现卓越,为医疗文本处理带来新契机。

相较于传统自然语言处理方法,它能更好地理解电子病历等复杂文本的语境,准确抽取和结构化信息,且具有强大的泛化能力,可适应不同数据格式和语言风格。

目前,大语言模型在电子病历信息抽取领域已取得一定成果,在临床决策支持和国际医疗数据标准化等方面潜力巨大,未来有望为医疗信息管理和个性化医疗提供更先进有效的解决方案。


五、人工智能助力 RNA 结构预测

该部分内容主要讲述了RNA结构预测的重要性、面临的困难,以及人工智能在该领域的应用和研究现状,为RNA相关研究提供了全面的技术和理论支持。

5-1:RNA结构预测的重要性与挑战

RNA在生命活动中起着关键作用,其结构预测对于理解RNA功能、疾病机制以及开发靶向药物至关重要

然而,RNA结构预测比蛋白质结构预测更为困难,主要体现在RNA结构多样且不稳定、共进化信息利用有限、实验测定结构数量少等方面。

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

目前,RNA三级结构测定效率低下,难以满足研究需求,因此需要借助计算方法来预测RNA结构


5-2:RNA结构预测的研究现状与方法

RNA三级结构预测算法主要包括基于知识和基于物理的方法。基于知识的算法依赖已知模板数据库,基于物理的算法则通过搜索构象空间寻找自由能最低的构象。

近年来,机器学习和深度学习技术在RNA结构预测中得到广泛应用,如卷积神经网络、三维卷积神经网络等。这些技术能够自动提取特征,提高结构预测的精度和效率。

同时,Rosetta框架的出现为RNA构象采样提供了新途径,对提升RNA结构预测能力具有重要意义。


5-3:人工智能在RNA结构预测中的具体应用与展望

在RNA结构预测中,人工智能技术不断创新。卷积神经网络通过改进结构和优化方法,在视觉任务和基因组学研究中取得进展,也为RNA结构预测提供了新的思路。

三维卷积神经网络能够有效处理三维特征图,在蛋白质和RNA结构预测领域展现出强大的应用潜力。基于ResNet的三维卷积神经网络则致力于解决网络深度增加带来的问题,期望对RNA三级结构打分函数进行优化。

未来,人工智能在RNA结构预测领域将继续发展,有望在模型集成、数据增强、多模态学习以及增强模型可解释性等方面取得突破,推动RNA相关研究的深入发展。


六、人工智能识别组学生物标志物

该部分内容围绕人工智能识别组学生物标志物展开,主要介绍了从单组学方法到多组学整合策略的发展,以及这些技术在临床中的应用和对精准医疗的推动作用。

6-1:单组学方法及局限性

生物标志物在疾病诊疗等方面意义重大,人工智能在识别组学生物标志物中作用日益凸显。

常见单组学方法包括过滤式、包裹式和嵌入式特征选择,这些方法能从高通量组学数据中筛选特征,但它们未考虑生物系统复杂性和基因关联性,存在局限性。

单组学研究也难以全面揭示生物过程的复杂性、各组分间相互作用及动态变化。


6-2:多组学研究的优势与整合策略

为克服单组学局限,多组学研究应运而生。它整合基因组学、转录组学等多种生物信息,可提供全面生物系统视图,有助于揭示复杂疾病机制、改进疾病诊断和预测。

多组学数据整合策略有前融合、中融合和后融合

  1. 前融合在分析早期合并原始数据,能提供全面视角;
  2. 中融合在数据处理中间阶段整合特征,灵活性强;
  3. 后融合在分析最后阶段整合结果,专业性高。

完整版的pdf报告,请前往知识星球【行业报告】专栏获取


6-3:临床应用与未来展望

部分通过多组学数据分析发现的生物标志物已应用于临床试验,如Mammaprint、Oncotype DX等试剂盒用于乳腺癌患者的预后评估和复发风险分类。

随着人工智能技术发展,其在组学数据分析和生物标志物识别方面将发挥更大作用,多组学研究也将推动精准医疗发展,实现更高效的疾病诊断、预后评估和个性化治疗


七、蛋白质语言大模型的前沿探索和展望

该部分内容主要围绕蛋白质语言大模型展开,涵盖了从通用语言大模型到蛋白质语言大模型的演变、蛋白质语言大模型的前沿探索以及对其未来发展的展望,展现了该领域的研究进展与潜在方向。

7-1:从通用语言大模型到蛋白质语言大模型的演变

自然语言处理领域基于Transformer架构的大模型取得显著进展,其成功促使研究人员将相关技术应用于蛋白质序列分析。

蛋白质语言模型(PLMs)应运而生,旨在学习蛋白质序列数据中的复杂模式和关系。蛋白质序列与自然语言有相似之处,但也存在独特挑战,如氨基酸语义建模困难和数据模态多样等。

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

因此,蛋白质语言模型的发展需要结合自然语言处理技术和生物信息学需求。


7-2:蛋白质语言大模型的前沿探索

在数据来源和整理方面,蛋白质序列数据规模庞大,如UniProt和ColabFoldDB数据库提供了丰富资源,同时蛋白质相互作用数据也可用于预训练,但需进行清洗和去重。

训练范式上,主要有掩码语言模型(MLM)和广义语言模型(GLM)目标,不同模型在训练中采用不同策略。研究发现蛋白质语言模型存在Scaling Law,增大模型参数规模可提升对新数据的理解能力。

在应用落地方面,蛋白质语言模型在蛋白理解相关的Benchmark任务和辅助结构预测等方面取得了一定成果。


7-3:蛋白质语言模型及AI蛋白质设计的展望

未来蛋白质语言模型将朝着多模态融合预训练方向发展,结合蛋白质序列、结构和细胞基因表征等多模态信息,提升模型性能。

在数据方面,期望获取更多反映物理规律的数据和高通量实验数据,以完善蛋白结构数据和探索蛋白空间。

在蛋白质设计上,基于语言模型的生成式设计面临数据不足问题,需融合知识经验减少对数据的依赖,从而实现更高效、通用的蛋白质设计 。


八、人工智能基因调控

该部分内容聚焦人工智能在基因调控领域的应用,主要涵盖基因调控的基本概念、相关人工智能算法以及研究成果与挑战,展现了人工智能技术为基因调控研究带来的变革与发展前景。

8-1:基因调控概述

基因调控是生物体内控制基因表达的机制,涉及调控蛋白与靶DNA或RNA分子的相互作用,在微生物适应环境变化以及多细胞生物的细胞分化、个体发育等过程中发挥关键作用。

调控基因组学研究意义重大,在发酵工业、植物抗病育种、疾病治疗等多个领域都有重要应用

基因转录受转录因子调节,转录因子与DNA序列结合形成复杂调控回路,构成基因调控网络(GRN),研究GRN有助于理解细胞身份在疾病中的变化机制。


8-2:人工智能算法在基因调控中的应用

在基序检测方面,识别转录因子结合位点对理解基因调控机制至关重要,相关计算方法分为基于统计策略和基于人工智能学习两类。

深度学习算法如DeepBind和DeepFinder等在基序识别中表现出色,能够自动学习序列特征,预测蛋白质与DNA或RNA序列的结合亲和力,但构建可解释模型仍面临挑战。在基因调控网络构建方面,计算方法主要有无监督、半监督和监督学习等框架,利用基因表达数据、染色质可及性数据等多模态信息推断GRN。

单细胞多组学技术的发展推动了细胞类型特异性GRN的研究,为深入理解细胞命运决定和疾病发展机制提供了有力支持。


8-3:研究成果、挑战与展望

人工智能在基因调控研究中取得了显著成果,帮助研究人员更深入地了解基因调控机制,但也面临一些挑战。

不同的GRN推理方法由于使用不同的TF结合基序数据库和预测算法,结果可能存在差异;Hi-C数据的噪声和不完整性也给基因组构象建模带来困难。

未来,需要进一步整合多源数据,改进算法以提高GRN推断的准确性和可靠性,同时加强对模型可解释性的研究,为基因调控研究和相关疾病治疗提供更坚实的理论基础和技术支持。


九、人工智能赋能多组学融合

该部分内容主要探讨人工智能赋能多组学融合,涉及融合的背景、方法、测序技术以及在不同组学数据融合中的应用,为深入理解生物系统提供了全面视角。

9-1:融合背景与方法

基因测序技术发展产生大量多组学数据,数据的对齐与融合成为难题

人工智能技术为多组学数据融合提供了有效策略,主要方法包括基于深度神经网络、非负矩阵分解、贝叶斯统计和图(网络)的方法。

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

这些方法各有特点,且存在交叉融合,可在数据输入模型前、模型中间阶段或针对特定下游任务的最终阶段进行数据融合。


9-2:多组学测序技术

介绍了单细胞尺度的多种组学测序技术,单细胞基因组学的scDNA-seq用于研究遗传变异;单细胞转录组学的scRNA-seq可研究细胞基因转录水平;单细胞表观遗传学通过scBS-seq等技术研究表观遗传机制;单细胞蛋白质组学利用抗体结合等方法测量蛋白质表达。

此外,还有单细胞多组学技术,能同时测量多种组学数据,为研究分子和细胞过程提供更全面信息。


9-3:不同组学数据融合的应用

在转录组学与表观遗传学数据融合、转录组学与蛋白质组学数据融合,以及转录组学、蛋白组学与表观遗传学数据融合这三个方面,人工智能均有广泛应用。

完整版的pdf报告,请前往知识星球【行业报告】专栏获取

不同研究团队提出了多种针对性的方法,如scMVAE、scMDC、BABEL等,这些方法在数据整合、特征提取、细胞聚类、模态转换等方面发挥作用,有助于揭示生物分子间的相互关系,为生物医学研究提供更深入的见解和有力的工具。


结束语

本期推文的内容就到这里啦,如果需要获取医学AI领域的最新发展动态,请关注小罗的推送!如需进一步深入研究,获取相关资料,欢迎加入我的知识星球!

相关文章:

人工智能的出现,给生命科学领域的研究带来全新的视角|行业前沿·25-01-22

小罗碎碎念 今天和大家分享一份白皮书,系统总结并陈述人工智能在生命科学领域的应用。 人工智能在生命科学领域的应用,具体包括——单细胞转录组、疾病诊疗、医疗文本处理、RNA结构预测等多个方面,通过这份报告,我们可以详细了解相…...

python注释格式总结

三个双引号的用于文件,类,函数注释。 没有统一的规定,以下是比较清晰的写法。 文件注释(文件顶部):文件用途空行作者信息(每行一个键:值) 类注释(类名下行&#xff09…...

Django实现数据库的表间三种关系

Django实现数据库的表间三种关系 1. 一对多(One-to-Many)关系示例:关系说明:查询示例: 2. 一对一(One-to-One)关系示例:关系说明:查询示例: 3. 多对多&#x…...

C++蓝桥真题讲解

本篇文章和大家一起来试试一些简单的蓝桥真题 注意:本篇文章将全程使用devc和蓝桥官网,如果有小伙伴找不到devc安装包的可以本篇文章中下载。 赛前必知点 1.正式比赛时,先从蓝桥官网下载题目文档,然后用devc进行编译&#xff0c…...

【21】Word:德国旅游业务❗

目录 题目 NO1.2.3 NO4 NO5.6 NO7 NO8.9.10.11 题目 NO1.2.3 F12:另存为布局→页面设置→页边距:上下左右选中“德国主要城市”→开始→字体对话框→字体/字号→文本效果:段落对话框→对齐方式/字符间距/段落间距 NO4 布局→表对话框…...

如何分辨ddos攻击和cc攻击?

DDoS(分布式拒绝服务)攻击和 CC(Challenge Collapsar)攻击都属于网络攻击手段,主要通过消耗目标服务器资源使其无法正常提供服务,但它们在攻击原理、攻击特征等方面存在区别: 攻击原理 DDoS 攻…...

enum EPOLL_EVENTS详解

enum EPOLL_EVENTS 是 Linux 中 epoll 机制的核心定义之一,它定义了 epoll 支持的所有事件类型。每个事件类型对应一个唯一的位掩码(bitmask),通过按位或(|)可以组合多个事件类型,通过按位与&am…...

阿里前端开发规范

文章目录 1. 为什么前端写代码要规范?一、代码规范的必要性二、 规范带来的好处 2. 资源一、推荐 1. 为什么前端写代码要规范? 一、代码规范的必要性 可维护性 统一的代码风格便于理解和修改减少代码维护成本降低项目交接难度 团队协作 提高团队开发效…...

从函数式编程到响应式编程:现代开发中的范式转变

引言 随着软件开发领域的不断进化,编程范式也在经历着一场又一场的变革。从面向过程到面向对象,再到近年来流行的函数式编程和响应式编程,开发者正逐步适应不同的编程思想来解决现代软件开发中的复杂问题。本文将带你了解函数式编程和响应式编…...

Django学习笔记(启动项目)-03

Django学习笔记(启动项目)-03 1、在urls文件中配置一个路由url 2、在views文件中创建视图函数 3、启动项目测试结果 # 输入项目启动命令 python manage.py runserver4、创建HTML模版和静态文件 1、在templates文件夹中创建一个html 2、创建url路由与视图函数 3、测试效果 4、…...

量变引起质变

量变引起质变,这个是最本质的规律,重复进行一件事情,这件事情就会越来越完善,越来越完美,哪怕是菜鸟,重复多了就是大佬。 我从说话结结巴巴,到说话流畅,只是用了15天直播写代码&…...

NewStar CTF week1 web wp

谢谢皮蛋 做这题之前需要先去学习一些数据库的知识 1 order by 2 1可以理解为输入的id,是一个占位符,按第二列排序用来测试列数,如果没有两列则会报错-1 union select 1,2 -1同样是占位符,union的作用是将注入语句合并到原始语句…...

李沐vscode配置+github管理+FFmpeg视频搬运+百度API添加翻译字幕

终端输入nvidia-smi查看cuda版本 我的是12.5,在网上没有找到12.5的torch,就安装12.1的。torch,torchvision,torchaudio版本以及python版本要对应 参考:https://blog.csdn.net/FengHanI/article/details/135116114 创…...

深度学习中Batch Normalization(BN)原理、作用浅析

最近做剪枝学习,其中一种是基于BN层的γ作为缩放因子进行剪枝的,那么我想搞懂BN的工作原理更好的理解网络、剪枝等,所以有了该文。 首先先说BN的作用在详细拆解,理解。以知乎一条高赞评论说明BN层到底在干什么。 Batch Norm 为什…...

C语言常用字符串处理函数

头文件&#xff1a;#include <string.h> strlen size_t strlen( char *str ); 功能&#xff1a;函数返回一个整数值&#xff0c;表示给定字符串的长度&#xff08;不包括结束符\0&#xff09; strcat char *strcat( char *str1, const char *str2 )&#xff1b; 功能&a…...

文件上传漏洞详解

第一关&#xff08;JS绕过&#xff09; 1.1使用bp进行绕过 先将要上传的php文件的后缀改为png&#xff0c;然后在上传时抓包&#xff0c;将png后缀再改为php&#xff0c;发包&#xff0c;此时上传成功 1.2使用js进行绕过 打开浏览器的检查&#xff0c;将其中的checkFile函数…...

关于linux的ld.so.conf.d

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

pytest执行报错:found no collectors

今天在尝试使用pytest运行用例的时候出现报错&#xff1a;found no collectors&#xff1b;从两个方向进行排查&#xff0c;一是看文件名和函数名是不是符合规范&#xff0c;命名要是"test_*"格式&#xff1b;二是是否存在修改文件名的情况&#xff0c;如果修改过文件…...

如何实现网页不用刷新也能更新

要实现用户在网页上不用刷新也能到下一题&#xff0c;可以使用 前端和后端交互的技术&#xff0c;比如 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;、Fetch API 或 WebSocket 来实现局部页面更新。以下是一个实现思路&#xff1a; 1. 使用前端 AJAX 或 Fetch…...

c#调用c++的dll,字符串指针参数问题

一.背景 在 C# 中没有 char* 类型&#xff0c;因为 C# 是一种托管语言&#xff0c;它的设计目标是提供更高级别的安全性和内存管理&#xff0c;避免使用像 C 或 C 中的指针操作&#xff0c;以防止常见的指针相关错误&#xff0c;如内存泄漏和悬空指针。 二.c#调用c的dll&#x…...

HTML5 新表单属性详解

HTML5 为 <form> 和 <input> 标签引入了一系列新属性&#xff0c;极大地增强了表单的功能和用户体验。这些新属性不仅简化了开发者的工作&#xff0c;还为用户提供了更友好、更高效的交互方式。本文将详细介绍这些新属性&#xff0c;并结合代码示例帮助大家更好地理…...

JAVA 使用反射比较对象属性的变化,记录修改日志。使用注解【策略模式】,来进行不同属性枚举值到中英文描述的切换,支持前端国际化。

1.首先定义一个接口&#xff0c;接口中有两个方法&#xff0c;分别是将属性转换成英文描述和中文描述。 其实就是将数据库中记录的 0 1 &#xff0c;转换成后面的描述 这边定义了中文转换为默认方法&#xff0c;是因为有些属性不需要进行中文转换&#xff0c;或者该属性的枚举…...

Docker入门学习

一、容器 1. 将单个操作系统中的资源划分到孤立的组中&#xff0c;在孤立的组中平衡有冲突的资源使用需求 2. Docker提供了容器管理的工具可以无需关注底层操作&#xff0c;使用效果类似于轻量级的虚拟机&#xff0c; 并且容器的创建和停止相对于虚拟机来说比较快&am…...

吴恩达深度学习——神经网络介绍

文章内容来自BV11H4y1F7uH&#xff0c;仅为个人学习所用。 文章目录 什么是神经网络引入神经网络神经元激活函数ReLU隐藏单元 用神经网络进行监督学习监督学习与无监督学习举例 什么是神经网络 引入 已经有六个房子的数据集&#xff0c;横轴为房子大小&#xff0c;纵轴为房子…...

STM32之CubeMX新建工程操作(十八)

STM32F407 系列文章 - STM32CubeMX&#xff08;十八&#xff09; 目录 前言 一、STM32CubeMX 二、新建工程 ​编辑 1.创建工程 2.选择芯片型号 3.Pinout引脚分配 1.SYS配置 2.RCC配置 3.定时器配置 4.GPIO引脚配置 5.中断配置 6.通讯接口配置 7.插件Middleware配…...

Postgresql源码(140)理解PG的编译流程(make、Makefile、Makefile.global.in)

PG16 PG中使用的makefile看起来代码比较多&#xff0c;但是实际逻辑比较简单&#xff0c;这里做一些抽象总结。 总结 Makefile.global.in的$(recurse)宏自动生成了target&#xff0c;可以方便的进入内存目录进行编译。 all: all-common-recurse all-common-recurse: submak…...

logback日志自定义占位符

前言 在大型系统运维中&#xff0c;很大程度上是需要依赖日志的。在java大型web工程中&#xff0c;一般都会使用slf4jlogback这一个组合来实现日志的管理。 logback中很多现成的占位符可以可以直接使用&#xff0c;比如线程号【%t】、时间【%d】、日志等级【%p】&#xff0c;…...

Vue平台开发三——项目管理页面

前言 对于多个项目的使用&#xff0c;可能需要进行项目切换管理&#xff0c;所以这里创建一个项目管理页面&#xff0c;登录成功后跳转这个页面&#xff0c;进行选择项目&#xff0c;再进入Home页面展示对应项目的内容。 一、实现效果图预览 二、页面内容 功能1、项目列表展…...

用于牙科的多任务视频增强

Multi-task Video Enhancement for Dental Interventions 2022 miccai Abstract 微型照相机牢牢地固定在牙科手机上&#xff0c;这样牙医就可以持续地监测保守牙科手术的进展情况。但视频辅助牙科干预中的视频增强减轻了低光、噪音、模糊和相机握手等降低视觉舒适度的问题。…...

【Node.js]

一、概述 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 &#xff0c;使用了一个事件驱动、非阻塞式I/O模型&#xff0c; 让JavaScript 运行在服务端的开发平台&#xff0c;它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。 官网地…...