一、前言 记录用的linux下常用指令,持续更新,方便自己查看。
二、常用命令 1、文件建立和拷贝删除
1、mkdir build //建立build文件夹 2、cd build //进入buid文件夹 3、rm -r build //删除build文件夹 4、cp ../nvlog_system_log.txt ./ //复制nvlog_system_log.txt到build文件夹(txt跟文件夹build在同一个电脑上) 5、cd ~ //返回到home目录 6、cd ../../../ //返回三级目录 2、远程服务器链接;数据拷贝
1、ssh nvidia@192.11.12.13 //链接远程服务器 nvidia@192.11.12.13 2、scp -r ss.gz nvidai@192.21.11.123:/home/nvidai/cgf (在ss.gz的目录下,拷贝ss.gz到远程服务器nvidai@192.21.11.123:的/home/nvidai/cgf文件夹下) 3、解压gz文件
1、tar -xvf ss.gz //解压ss.gz 4、运行程序和权限
1、chmod 777 ss //修改ss的权限 2、sudo su //一超级用户的身份执行命令
目录
前言
一、人工智能(AI)概述
二、机器学习(ML)的作用:深入解析与应用前景
1、机器学习的作用机制
2、机器学习在各个领域的应用
3、机器学习的挑战与前景
三、AI与ML的融合与应用:深度解析与前景展望
1、AI与ML的融合机制
2、AI与ML在自动驾驶领域的应用
3、AI与ML在医疗领域的应用
4、AI与ML在金融领域的应用
5、AI与ML在教育领域的应用
6、AI与ML在交通领域的应用
7、挑战与展望
总结
前言 在21世纪的科技浪潮中,人工智能(AI)与机器学习(ML)无疑是最为耀眼和引人注目的技术。它们正在以前所未有的速度改变着我们的世界,从日常生活的方方面面到科学研究的各个领域,AI和ML都在发挥着越来越重要的作用。
一、人工智能(AI)概述 人工智能是一种模拟、延伸和扩展人类智能的理论、方法、技术及应用系统。它旨在让计算机能够像人类一样思考、学习,并能在各种环境下自主地做出决策。AI的发展经历了从最初的符号主义、连接主义到如今的深度学习等多个阶段,每一次的突破都极大地推动了科技的进步。
二、机器学习(ML)的作用:深入解析与应用前景 在当今信息爆炸的时代,数据已经成为了一种宝贵的资源。如何从海量数据中提取有价值的信息,成为了各行各业都需要面对的问题。而机器学习(ML),作为人工智能的核心技术之一,正是解决这一问题的有力工具。它基于对数据的学习和归纳,让计算机能够在没有明确的编程指导下,从大量数据中发现规律,从而进行预测和决策。下面,我们将对机器学习的作用进行深入解析,并探讨其在各个领域的应用前景。
1、机器学习的作用机制 机器学习的作用机制可以概括为“学习-预测-优化”三个步骤。首先,机器学习算法通过从大量数据中提取特征,建立模型来“学习”数据的规律。这个过程可以是监督学习、非监督学习、半监督学习或强化学习等不同的方法,具体取决于数据的特点和问题的需求。其次,一旦模型建立完成,它就可以对新的数据进行“预测”,即根据已学习的规律对新数据进行分类、回归、聚类等操作。最后,机器学习算法还可以根据预测结果和真实结果之间的误差,对模型进行“优化”,以提高预测的准确性和泛化能力。
2、机器学习在各个领域的应用 图像识别 图像识别是机器学习的一个重要应用领域。通过训练大量的图像数据,机器学习模型可以学习到图像中的特征,从而实现对图像的自动分类、识别和目标检测等功能。在医疗领域,图像识别技术可以帮助医生快速准确地诊断疾病;在安防领域,图像识别技术可以实现对监控视频的自动分析和异常检测;在娱乐领域,图像识别技术可以实现人脸识别、美颜等功能。
自然语言处理 自然语言处理(NLP)是机器学习的另一个重要应用领域。NLP技术可以让计算机理解和处理人类的语言,实现机器翻译、情感分析、文本分类等功能。在电商领域,NLP技术可以帮助企业分析用户的评论和反馈,了解用户对产品的满意度和需求;在客服领域,NLP技术可以实现智能客服机器人的自动回复和解答;在社交媒体领域,NLP技术可以帮助用户快速找到感兴趣的内容和话题。
智能推荐 智能推荐是机器学习在电商、音乐、视频等领域的一个重要应用。通过对用户的行为和兴趣进行分析,机器学习模型可以为用户推荐与其兴趣相关的商品、音乐、视频等内容。这种个性化推荐不仅可以提高用户的满意度和忠诚度,还可以为企业带来更多的商业价值。
金融领域 在金融领域,机器学习技术可以用于风险评估、欺诈检测、投资策略制定等方面。通过对历史数据和市场趋势的分析,机器学习模型可以预测未来的市场走势和风险情况,为投资者提供决策支持。同时,机器学习还可以用于欺诈检测,通过对交易数据的分析发现异常行为并及时报警。
自动驾驶 自动驾驶是机器学习在交通领域的一个重要应用。通过对车辆传感器收集的数据进行分析和处理,机器学习模型可以实现车辆的自主导航、避障、交通信号识别等功能。这种自动驾驶技术不仅可以提高交通安全性减少事故发生率,还可以缓解城市交通拥堵问题。
3、机器学习的挑战与前景 尽管机器学习已经在各个领域取得了广泛的应用和成果,但是它仍然面临着一些挑战。首先,数据的获取和标注是一个巨大的问题。高质量的标注数据是机器学习模型训练的关键但是获取和标注数据往往需要耗费大量的人力和时间。其次,模型的泛化能力也是一个需要解决的问题。现有的机器学习模型往往只能在特定的场景下取得较好的效果而在其他场景下则表现不佳。此外隐私和伦理问题也是机器学习发展中需要关注的重要方面。
然而尽管面临这些挑战我们仍然对机器学习的前景充满信心。随着技术的不断进步和研究的深入机器学习将会在更多领域得到应用和发展。我们期待着机器学习技术能够为我们带来更多的惊喜和可能同时也希望相关的研究者和开发者能够关注并解决机器学习发展中面临的挑战和问题共同推动机器学习技术的健康发展。
三、AI与ML的融合与应用:深度解析与前景展望 随着科技的飞速发展,人工智能(AI)与机器学习(ML)的融合已经成为推动技术进步的重要力量。这种融合不仅让计算机在处理各种任务时变得更加智能,也为各行各业带来了革命性的变革。下面,我们将对AI与ML的融合进行深入解析,并探讨其在不同领域的应用前景。
1、AI与ML的融合机制 AI与ML的融合,可以理解为人工智能系统通过机器学习技术来不断提升自身的智能水平。在这个过程中,AI系统扮演着决策者和执行者的角色,而ML技术则提供了数据分析和模式识别的能力。具体来说,AI系统首先确定需要解决的问题和目标,然后利用ML技术从大量数据中提取有用的信息,构建出相应的模型或算法。这些模型或算法可以在没有人工干预的情况下,自动地对新的数据进行处理和分析,从而为AI系统提供决策支持。
2、AI与ML在自动驾驶领域的应用 自动驾驶是AI与ML融合的一个典型应用。在这个领域中,AI系统需要处理来自各个传感器的大量数据,包括摄像头、雷达、激光雷达等传感器获取的图像、距离、速度等信息。这些数据经过ML技术的处理和分析后,可以提取出车辆周围的环境信息、交通状况、行人动态等关键信息。然后,AI系统根据这些信息做出决策,控制车辆的行驶方向和速度,实现自动驾驶。
自动驾驶的应用不仅可以提高道路交通的安全性,减少交通事故的发生,还可以缓解城市交通拥堵问题,提高交通效率。此外,自动驾驶还可以为出行不便的老年人、残疾人等群体提供更加便捷、安全的出行方式。
3、AI与ML在医疗领域的应用 医疗领域是AI与ML融合的另一个重要领域。在这个领域中,AI和ML的结合可以帮助医生更准确地诊断疾病,提高治疗效率。具体来说,AI系统可以通过分析患者的病历、影像资料、基因数据等信息,结合ML技术提取出疾病的特征和规律。然后,AI系统可以根据这些特征和规律对新的病例进行自动诊断和分类,为医生提供辅助诊断支持。
此外,AI与ML还可以应用于药物研发、个性化治疗等领域。通过对大量药物分子和疾病基因数据的分析,AI系统可以预测药物对疾病的治疗效果,从而加速药物研发进程。同时,AI系统还可以根据患者的基因信息和病情特点,为其制定个性化的治疗方案,提高治疗效果和患者的生活质量。
4、AI与ML在金融领域的应用 金融领域是AI与ML融合的另一个重要应用场景。在这个领域中,AI技术可以通过分析历史数据和市场趋势,为投资者提供投资建议和风险管理方案。具体来说,AI系统可以收集和分析股票、债券、期货等金融市场的数据,结合ML技术提取出市场的规律和趋势。然后,AI系统可以根据这些规律和趋势为投资者提供投资建议和风险预警,帮助投资者做出更加明智的投资决策。
此外,AI与ML还可以应用于信用评估、反欺诈等领域。通过对用户的信用记录和交易行为的分析,AI系统可以评估用户的信用状况和风险水平,为金融机构提供决策支持。同时,AI系统还可以检测并预防欺诈行为的发生,保障金融市场的稳定和健康发展。
5、AI与ML在教育领域的应用 教育领域也是AI与ML融合的重要应用领域之一。在这个领域中,AI技术可以根据学生的学习情况提供个性化的学习方案和教学支持。具体来说,AI系统可以收集和分析学生的学习数据,包括成绩、作业、测试等信息。然后,AI系统可以利用ML技术对这些数据进行分析和挖掘,发现学生的学习特点和问题所在。接着,AI系统可以根据这些特点和问题为学生制定个性化的学习计划和教学策略,提供针对性的辅导和支持。
此外,AI与ML还可以应用于智能推荐、虚拟实验室等领域。通过对学生的学习偏好和兴趣的分析,AI系统可以为学生推荐符合其需求和兴趣的学习资源和课程。同时,AI系统还可以构建虚拟实验室等虚拟学习环境,为学生提供更加生动、直观的学习体验。
6、AI与ML在交通领域的应用 在交通领域,AI与ML的融合也发挥了重要作用。通过对交通流量、道路状况、车辆行驶数据等信息的分析,AI系统可以优化交通管理策略,减少交通拥堵和事故发生率。具体来说,AI系统可以利用ML技术对交通流量进行预测和分析,根据预测结果调整交通信号灯的控制策略或推荐合理的行驶路线给驾驶员。这样可以有效地缓解交通拥堵问题,提高道路通行效率。
此外,AI与ML还可以应用于智能交通监控、无人驾驶公交车等领域。通过对监控视频的分析和处理,AI系统可以自动识别交通违法行为和异常事件,并及时报警和处理。同时,无人驾驶公交车等智能交通工具也可以利用AI与ML技术实现自主导航和避障等功能,提高公共交通的安全性和便捷性。
7、挑战与展望 尽管AI与ML的融合已经在各个领域取得了广泛的应用和成果,但是仍然面临着一些挑战和问题。首先,数据的质量和数量是影响AI与ML融合效果的关键因素之一。高质量的标注数据是机器学习模型训练的基础,但是获取和标注这些数据往往需要耗费大量的人力和时间。其次,模型的泛化能力和鲁棒性也是需要关注的问题之一。现有的机器学习模型往往只能在特定的场景下取得较好的效果。
总结 尽管AI与ML技术取得了巨大的进步,但它们仍然面临着诸多挑战。首先,数据的获取和标注是一个巨大的问题。高质量的标注数据是机器学习模型训练的关键,但数据的获取和标注往往需要耗费大量的人力和时间。其次,模型的泛化能力也是一个需要解决的问题。现有的机器学习模型往往只能在特定的场景下取得较好的效果,而在其他场景下则表现不佳。此外,隐私和伦理问题也是AI与ML技术发展中需要关注的重要方面。
未来,随着技术的不断进步和研究的深入,AI与ML将会在更多领域得到应用和发展。我们有理由相信,这些技术将会继续塑造我们的未来世界并带来更多的惊喜和可能。
总会实现梦想sj!
respect!
网上看到一大厂女员工发文说:找对象千万别找大厂男,理由说了一大堆,无非就是大厂男为了逃避带娃,以加班为由宁愿在工位上玩游戏也不愿回家。当然这种观点有的人赞同有的人反对。
网友精彩评论:
--------------下面是今天的算法题--------------
来看下今天的算法题,这题是LeetCode的第45题:跳跃游戏 II。
问题描述
来源:LeetCode第45题
难度:中等
给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:
1,0 <= j <= nums[i]
2,i + j < n
返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。
示例1:
输入: nums = [2,3,1,1,4]
输出: 2
解释: 跳到最后一个位置的最小跳跃数是 2。
从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。 示例2:
输入: nums = [2,3,0,1,4]
输出: 2
ECharts 蓝色系-荧光图标折线图01案例 图表意义 本折线图案例展示了一周内不同路线的使用情况或数据统计。通过折线的上升和下降,可以直观地观察到每条路线的流量或数据变化趋势,从而进行分析和决策。
效果预览 效果图展示不同路线的数据统计和个性化图标
代码配置 本案例使用的 ECharts 版本为 5.2.0,这是 ECharts 的一个稳定版本,提供了丰富的图表类型和配置选项。
以下是创建上述折线图的基础代码配置,包括 ECharts 初始化、数据准备和图表配置:
var myChart = echarts.init(document.getElementById('ECharts')); var option = { backgroundColor: '#0e2147', grid: { left: '10%', top: '15%', bottom: '12%', right: '10%', }, legend: { data: ['云篆山水路线', '昕博朗学校路线', '新华小学路线', '云锦五路路线'], }, xAxis: { type: 'category', data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"] }, yAxis: { type: 'value' }, series: [ { name: '云篆山水路线', type: 'line', data: [123, 154, 234, 321, 120, 390, 634], itemStyle: { normal: { color: '#00f8ff' } } }, // 其他路线数据.
在日常生活和工作中,我们经常需要录制电脑上的音频,无论是为了记录会议内容、保存网络课程,还是为了制作自己的音频素材,录音功能都显得尤为重要。那么电脑怎么录音?本文将详细介绍2种方法教你如何在电脑上进行录音,帮助您轻松掌握这一音频录制技能。
方法一:电脑系统自带录音机录音 电脑怎么进行录音?其实电脑自带的录音机就是一款简单而实用的录音软件,市面上大部分电脑都拥有这个工具,它可以帮助我们录制简单声音。使用该功能就能解决电脑怎么录音的难题了。下面是其操作的方法:
步骤1:在电脑左下角的搜索栏中输入【录音机】,找到此工具。
步骤2:打开录音机,点击【录音】按钮开始录制声音。
注意:电脑系统内部的录音机虽然简单方便,但其无法做到声音降噪,也不支持后期剪辑处理,不适合用于专业的声音录制。
方法二:数据 蛙录屏软件录音 想要一步到位录制出高质量的音频,必不可少要用到专业的录音软件。电脑录音软件推荐那么多?到底哪一款才是最适合您呢?小编在此推荐您使用数据 蛙录屏软件(有专门的音频录制模式),该软件可以录入多种声源,电脑外部声音或者是电脑内部声音都可以录制,同时还支持麦克风降噪,自定义声音大小等设置,可以给你带来更高质量的录音。
操作环境: 演示机型:联想Ideapad 700-15ISK-ISE 系统版本:Windows 10 软件版本:数据 蛙录屏软件1.1.12 步骤1:在您需要录制音频的电脑上搜索并下载好数据 蛙录屏软件。
步骤2:安装完成后,进入首页,点击【音频录制】模式。
步骤3:在【音频录制】界面,您可以根据你的需求对扬声器与麦克风进行调节。开启扬声器表示录制电脑内部的声音,开启麦克风表示录制电脑外部的声音。
步骤4:如果您对录制的音频还有更高的要求,可以点击【音频录制】中的【管理预设】对麦克风降噪和麦克风增强进行调节,这样操作可以提高录音文件的质量,降低录音底噪。
步骤5:录音结束后,您可以进入【高级剪辑】对你的音频进行分割、剪辑等操作。
结论 经过本文的介绍,相信您一定学会了电脑怎么录音的方法了。电脑录音是一项简单而实用的技能,只要您掌握了正确的方法和技巧,就可以轻松录制出高质量的音频。当然,一款好的录音软件才是至关重要的,它能满足您在不同场景下的录音需求之余还能让你的录音更加清晰,帮助您更好地进行录音工作。那么就根据你的需求选择一款适合您的录音软件吧!
往期推荐:
录制视频软件哪个好?录制视频,4款好软件推荐https://mp.csdn.net/mp_blog/creation/editor/139772999
手机录屏怎么操作?3个小技巧,轻松录屏https://mp.csdn.net/mp_blog/creation/editor/139743648
游戏视频录制软件,这3款你不可错过!https://mp.csdn.net/mp_blog/creation/editor/139685832
在手机切换时,将文件从 Android 传输到 iPhone 可能是一个问题。但是,通过正确的工具和方法,可以将文件从 Android 无缝传输到 iOS 设备。无论是照片、视频、文档还是其他重要文件,了解如何将文件从 Android 传输到 iPhone 对于顺利过渡至关重要。在本文中,我们将探索支持 Android 到 iOS 文件传输的各种技术和应用程序,确保您的宝贵数据成功迁移到新的 iOS 设备。因此,让我们深入研究并发现将文件从 Android 传输到 iPhone 的最佳方法,确保两个平台之间的顺利过渡。
第 1 部分. 如何使用计算机将文件从 Android 传输到 iPhone 当您从 Android 设备切换到 iPhone 时,最大的问题之一是如何无缝传输文件。值得庆幸的是,有多种方法可以帮助您顺利过渡。在这一部分中,我们将探索使用计算机将文件从 Android 传输到 iPhone 的不同方法。
方法 1. 如何一键将文件从 Android 发送到 iPhone Coolmuster Mobile Transfer 是一款功能强大且可靠的软件工具,旨在简化不同移动设备之间传输文件的过程。借助 Coolmuster Mobile Transfer,用户可以轻松地将各种类型的数据从一台设备传输到另一台设备,包括联系人、消息、通话记录、照片、视频、音乐等。
方法 2. 如何通过 iTunes 在 Android 和 iPhone 之间共享文件 如果您愿意忍受复杂性和时间投入,iTunes 可以帮助您将音乐、照片和视频文件从 Android 设备传输到 iPhone。
第 2 部分. 如何使用应用程序将文件从 Android 传输到 iPhone 除了基于计算机的方法之外,还有一些应用程序可以将文件从 Android 传输到 iPhone。我们一起来看看吧。
前言:人工智能生成内容的鉴别(AIGC检测)算是当前的研究热点之一,本篇文章介绍几篇针对文生图模型的 AIGC 检测相关工作。
相关文章:AIGC溯源相关研究详见此篇文章
目录 1. Towards Universal Fake Image Detectors that Generalize Across Generative Models(CVPR 2023)2. DIRE for Diffusion-Generated Image Detection(ICCV 2023)3. AEROBLADE: Training-Free Detection of Latent Diffusion Images Using Autoencoder Reconstruction Error(CVPR, 2024)4. Seeing is not always believing: Benchmarking Human and Model Perception of AI-Generated Images(NeurIPS, 2023) 1. Towards Universal Fake Image Detectors that Generalize Across Generative Models(CVPR 2023) 作者:Utkarsh Ojha, et al. University of Wisconsin-Madison, USA
一、下载ChatGLM3-6B 下载地址,需要魔法
测试模型: 新建文件predict.py。运行下面测试代码。建议这里的transformers包最好和LLaMA-Factory环境的transformers包版本保持一致或者直接用LLaMA-Factory的环境。
from transformers import AutoTokenizer, AutoModelForCausalLM import torch device = "cuda" # the device to load the model onto model = AutoModelForCausalLM.from_pretrained("./models/chatglm3-6b",torch_dtype=torch.float16,trust_remote_code=True).half().cuda() tokenizer = AutoTokenizer.from_pretrained("./models/chatglm3-6b",trust_remote_code=True) model.to(device) model = model.eval() # response, history = model.chat(tokenizer, """ 你是谁""", history=[]) response, history = model.chat(tokenizer, """ 从给定文本中提取医疗程序、疾病、症状、肌体、药品、体检项目、微生物、医疗器械、科室这几类的实体名,用字典格式返回。文本:房内折返性心动过速,每年发作1至3次,需药物干预。""", history=[]) print(response) 问题:你是谁
答:我是一个名为 ChatGLM3-6B 的人工智能助手,是基于清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同训练的语言模型开发的。我的任务是针对用户的问题和要求提供适当的答复和支持。
问题:从给定文本中提取医疗程序、疾病、症状、肌体、药品、体检项目、微生物、医疗器械、科室这几类的实体名,用字典格式返回。文本:房内折返性心动过速,每年发作1至3次,需药物干预。
答:
{
"医疗程序": [],
"疾病": [],
"症状": [],
"肌体": [],
在Python中,你可以使用内置的json模块来轻松地将字典转换为JSON格式的字符串。下面是一个简单的示例:
import json # 创建一个字典 data_dict = { "name": "John Doe", "age": 30, "city": "New York" } # 使用json.dumps()方法将字典转换为JSON字符串 json_str = json.dumps(data_dict) # 打印JSON字符串 print(json_str) 运行上面的代码,你会得到以下输出:
{"name": "John Doe", "age": 30, "city": "New York"} 这就是一个JSON格式的字符串。如果你想让输出的JSON字符串更易读(比如带有缩进和换行符),你可以给json.dumps()方法传递一个额外的参数indent,它表示缩进的空格数:
json_str_pretty = json.dumps(data_dict, indent=4) print(json_str_pretty) 运行上面的代码,你会得到以下更易读的输出:
{ "name": "John Doe", "age": 30, "city": "New York" }
基于Python引擎的PP-OCR模型库推理
1. 文本检测模型推理 # 下载超轻量中文检测模型: wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar tar xf ch_PP-OCRv3_det_infer.tar python3 tools/infer/predict_det.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" 通过参数limit_type和det_limit_side_len来对图片的尺寸进行限制, limit_type可选参数为[max, min], det_limit_size_len 为正整数,一般设置为32 的倍数,比如960。
参数默认设置为limit_type=‘max’, det_limit_side_len=960。表示网络输入图像的最长边不能超过960, 如果超过这个值,会对图像做等宽比的resize操作,确保最长边为det_limit_side_len。 设置为limit_type=‘min’, det_limit_side_len=960 则表示限制图像的最短边为960。
如果想使用CPU进行预测:
python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" --use_gpu=False 2. 文本识别模型推理 2.1 超轻量中文识别模型推理 注意 PP-OCRv3的识别模型使用的输入shape为3,48,320, 如果使用其他识别模型,则需根据模型设置参数–rec_image_shape。此外,PP-OCRv3的识别模型默认使用的rec_algorithm为SVTR_LCNet,注意和原始SVTR的区别。
超轻量中文识别模型推理,可以执行如下命令:
# 下载超轻量中文识别模型: wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar tar xf ch_PP-OCRv3_rec_infer.tar python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/ch/word_4.jpg" --rec_model_dir="./ch_PP-OCRv3_rec_infer/" 2.2 英文识别模型推理 # 下载英文数字识别模型: wget https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_infer.tar tar xf en_PP-OCRv3_rec_infer.tar python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/en/word_1.png" --rec_model_dir="./en_PP-OCRv3_rec_infer/" --rec_char_dict_path="ppocr/utils/en_dict.txt" 2.3 多语言模型的推理 如果您需要预测的是其他语言模型,可以在此链接中找到对应语言的inference模型,在使用inference模型预测时,需要通过–rec_char_dict_path指定使用的字典路径, 同时为了得到正确的可视化结果,需要通过 --vis_font_path 指定可视化的字体路径,doc/fonts/ 路径下有默认提供的小语种字体,例如韩文识别:
// pages/query/query.js import { request } from '../../utils/request'; Page({ /** * 页面的初始数据 */ data: { tabClickIndex: '', page: 1, limit: 10, listData: [] }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.getList() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, getList() { request('/api/list', 'get', { page: this.data.page, limit: this.data.limit, status: this.data.tabClickIndex }).then((res) => { console.log(res); if (res.msg === 'success') { const newData = res.
java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid’解决
原因:
lombok版本导致
解决方案:
升级lombok版本
大家好,我是设计师阿威
最近,尝试在写故事,然后用sd配图。其中,单人场景很容易生成。
但是多人场景的话,很难稳定生成满意的图像。
今天就教大家一招,用additional networks + controlnet openpose,可以稳定生成2-3人的场景,也分享给大家。
下面以一个双人场景为例
1.安装插件和模型
(1)下载安装好sd插件,additional network。地址:https://github.com/kohya-ss/sd-webui-additional-networks。
(注意:如无法下载,请扫描获取插件安装包哦)
(2)下载安装好sd插件,controlnet 和 Openpose引导模型。
(注意:如无法下载,请扫描获取插件安装包哦)
2.找到你想生成的双人场景真人图,方便 openpose识别人体姿态,比如下面这张图。
3.设置openpose
点击enable启用,pixel pefect,allow preview;
预处理器选择openpose,模型选择openpose,(如果模型这里没有openpose,则记得下载openpose引导模型并放在SD的extensions\sd-webui-controlnet\models文件夹里面后,点击模型右侧的刷新按钮)
Control weight 权重这里设置0.8,让ai控制的姿势更自然一些。
点击预处理器右侧的爆炸图标,就能看到骨架预览图,如果识别出来的骨架图觉得不太满意,需要微调也可以用openpose editor工具对骨架识别并微调动作之后,再放进来controlnet使用。
4.设置additional networks
(1)把你想使用的lora模型,放入SD的extensions\sd-webui-additional-networks\models\lora里面。
(2)启用附加网络,并在下方选择你想要用的lora模型,并分别设置权重为0.8.
(3)接下来就是重点了,展开额外参数extra args
上传一张用ps或者之类的工具制作的人物色块png图片。(除了色块之外,全部背景需要是透明的。)
颜色需要是标准的rgb颜色的红绿黄。
抠图就直接用快速选择工具或者之类的抠图工具,把人物抠出来,再用油漆桶工具填充纯色,再把图片导出成png即可。
5.设置提示词等基本参数
提示词我是随便写的,因为就要一个男生一个女生出现在图像里,其他的就懒得写了,你如果对背景有要求可以加一些更丰富更细致的提示词。
采样器:dpm+2m sde karras
迭代步数step适度调高到25-30
图像尺寸比例参考你原来的底图,避免被压缩裁剪或拉伸变形。然后开始生成。
提醒一下,
如果你的小黑窗出现了报错,那么大概率additional networks出现了问题,虽然画面会出现两个人一男一女没问题,位置姿势也没问题,但你的lora未生效,要指定人物就完全无法做到。
类似下面这种报错。
报错的话,需要重新安装最新的additional networks再试。
而如果类似下面这种,没有lora报错,并且显示了应用蒙版通道apply mask channel,那么代表你这种用不同的lora控制不同的人物是成功且生效的。
6.你会发现生成的男女主基本都是稳定的形象,可以用lora很好控制人物形象和特征,保持人物的统一性,同时生成多人图像也不容易崩。
比如随着剧情推进,女主找上了前男友。(女主不变换男主)
男主一怒之下,找了个小三。(男主不变换女主)
啊这,有点狗血。(没办法,狗血的剧情才有更多人喜欢看)
7.接着,我们再回来教程这里,如果说,两人场景控制人物形象和面容能比较容易实现,那么三人场景能否做到呢?答案是可以的。
比如我们祭出这张李寻欢同学的名场面图片。
同样用上面的处理方式一步一步来生成。
然后我们可以得到这样的图。
如果你喜欢大女主,不想让臭男人左拥右抱,那么可不可以呢?可以。
但是三个人的控制程度比两个人的控制更难一些,很难指定某个人物用特定某个lora,还需要多生成一些图像来抽卡,才能得到相对满意的图像。
但至少,比之前生成2-3人的图像,相对来说已经可控高了不少。
不管你用来做小说配图还是插画什么的,都方便很多。
感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
一、AIGC所有方向的学习路线
👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。
利用Python进行音频信号处理和音乐生成 随着计算机技术的快速发展,音频信号处理和音乐生成逐渐成为了Python程序员们的关注点。Python作为一种功能强大且易于学习的编程语言,提供了丰富的库和工具,使得处理音频数据和生成音乐变得更加简单和高效。本文将介绍如何利用Python进行音频信号处理和音乐生成,包括基本概念、常用库的使用以及实际的代码示例。
音频信号处理基础 音频信号处理涉及到从声波中提取、分析和修改信息。在Python中,处理音频信号通常涉及以下几个基本步骤:
读取和播放音频文件:使用Python库如librosa或soundfile可以轻松地读取和处理各种音频文件格式,如WAV、MP3等。
波形可视化和分析:通过绘制波形图和频谱图,可以直观地了解音频信号的波形和频谱特征。matplotlib和numpy库在这方面非常有用。
基本的音频处理操作:包括时域和频域的操作,如时域平移、音量调整、滤波、频域变换(如傅里叶变换),这些操作可以使用numpy和scipy库实现。
示例:读取和可视化音频文件 让我们来看一个简单的示例,使用librosa库读取一个音频文件并绘制波形图和频谱图:
import librosa import librosa.display import matplotlib.pyplot as plt # 读取音频文件 audio_file = 'example_audio.wav' y, sr = librosa.load(audio_file) # 绘制波形图 plt.figure(figsize=(14, 5)) librosa.display.waveplot(y, sr=sr) plt.title('Waveform') plt.xlabel('Time (s)') plt.ylabel('Amplitude') plt.show() # 绘制频谱图 D = librosa.amplitude_to_db(librosa.stft(y), ref=np.max) plt.figure(figsize=(14, 5)) librosa.display.specshow(D, sr=sr, x_axis='time', y_axis='log') plt.colorbar(format='%+2.0f dB') plt.title('Log-frequency power spectrogram') plt.show() 这段代码首先使用librosa.load()函数加载音频文件,并使用librosa.display.waveplot()和librosa.display.specshow()函数绘制了波形图和频谱图。
音乐生成与处理 除了处理现有的音频文件外,Python还可以用来生成新的音乐。生成音乐通常涉及到使用数学模型或基于规则的方法来合成音频波形。以下是一些用于音乐生成的常用方法和工具:
合成音频波形:可以使用numpy生成各种音频信号,如正弦波、方波等,也可以通过参数化的方法生成复杂的波形。
使用音频合成库:像pyo(Python音乐对象)这样的库提供了高级的音频合成和处理功能,可以进行实时音频处理和音乐生成。
MIDI文件处理:MIDI文件包含音符和乐器信息,可以使用mido等库解析和生成MIDI文件,进而控制音乐生成的参数和过程。
示例:生成简单的音乐 以下是一个使用numpy生成简单正弦波的示例,并将其保存为WAV文件:
import numpy as np import scipy.
功能说明 使用ListView时,希望可以在单元格显示图片或其他控件,发现原生的ListView不支持,于是通过拓展,实现ListView可以显示任意控件的功能,效果如下:
实现方法 本来想着在单元格里面实现控件的自绘的,但是没找到办法,最后是通过在单元格的表面显示对应控件的,浮于表面达到目的。
实现要点如下:
ListView需要设置OwnerDraw=true,并重载自绘函数OnDrawColumnHeader、OnDrawItem、OnDrawSubItem支持按单元格添加对应的控件,其Parent设置为列表ListView列表界面调整后,包括大小、列表头、滚动等,需重新绘制单元格的控件 实现源码 using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace MyListView.Ui { #region ListViewEx public class ListViewEx : ListView { #region 内部属性 /// <summary> /// 存放单元格控件 /// </summary> List<Control> _CellControls = new List<Control>(); /// <summary> /// 界面是否发生变化 /// </summary> bool IsViewChanged { get; set; } #endregion #region 方法 /// <summary> /// 构造函数 /// </summary> public ListViewEx() { #region 初始化 #endregion #region 事件 this.
编程猫怎么编程汽车:探索虚拟与现实交汇的编程之旅
编程猫,作为一只深谙编程之道的可爱猫咪,如今竟要挑战编程汽车的领域,这无疑是一场虚拟与现实交汇的奇幻之旅。那么,究竟编程猫是如何实现这一壮举的呢?让我们从四个方面、五个方面、六个方面和七个方面,一探究竟。
四个方面:编程猫的魔法语言
首先,编程猫需要掌握一门能够驾驭汽车的魔法语言。这可不是普通的编程语言,而是一种能够与汽车硬件和传感器深度交互的高级语言。编程猫通过深入学习这门语言,逐渐理解了汽车的结构、工作原理以及如何通过代码来控制汽车的行驶。
五个方面:构建虚拟汽车模型
有了魔法语言的加持,编程猫开始着手构建虚拟的汽车模型。这个模型不仅要在结构上与真实汽车相似,还要能够模拟汽车的各种行为,如加速、减速、转弯等。编程猫利用自己的编程技能,精心打造了一个高度逼真的虚拟汽车世界。
六个方面:实现汽车功能的编程
接下来,编程猫开始着手实现汽车的各种功能。这包括启动引擎、控制油门和刹车、调整方向盘等。每一个功能的实现都需要编程猫精心编写代码,并通过虚拟汽车模型进行测试和优化。在这个过程中,编程猫不断遇到挑战,但也收获了满满的成就感。
m.yzsfs.com
wap.yzsfs.com
blog.yzsfs.com
www.teec.yzsfs.com
www.x.yzsfs.com
www.a.yzsfs.com
m.j.yzsfs.com
七个方面:跨越虚拟与现实的鸿沟
最后,编程猫需要跨越虚拟与现实的鸿沟,将编程技能应用到真实的汽车上。这需要编程猫与汽车工程师紧密合作,将虚拟汽车模型中的代码转化为真实汽车可以识别的指令。同时,编程猫还需要考虑各种现实因素,如汽车的安全性、稳定性以及在不同环境下的适应性。
在这场虚拟与现实交汇的编程之旅中,编程猫不仅展现了自己的编程才华,也让我们看到了编程的无限可能。虽然编程汽车的过程充满了困惑和挑战,但正是这些困惑和挑战激发了编程猫的爆发力和创新精神。未来,随着技术的不断进步和编程语言的不断发展,相信编程猫将会为我们带来更多惊喜和突破!
✨个人主页: 熬夜学编程的小林
💗系列专栏: 【C语言详解】 【数据结构详解】【C++详解】
目录
1、选择排序
1.1、基本思想
1.2、代码实现
1.3、代码测试
1.4、时空复杂度分析
总结
1、选择排序 1.1、基本思想 选择排序是一种简单直观的比较排序算法。该算法的基本思想是在每一轮中选出当前未排序部分的最小(或最大)元素,然后将其放置到未排序序列的起始位置,这个过程一直重复直至整个数组被排序。
选择排序的具体步骤如下:
★ 从数组的当前未排序部分选择最小(或最大)的一个元素。
★ 将这个最小(或最大)元素与未排序序列的第一个元素交换位置。
★ 然后从剩余未排序的元素中继续这个过程,将每一次找到的最小(或最大)元素放到未排序序列的开始。
★ 这个过程一直进行到整个数组的所有元素都被排为有序状态。
1.2、代码实现 此处可以进行一个小的优化,同时找最小值与最大值,但是有一个细节需要注意,先上代码。
此处还需要交换元素,所以提前封装一个交换函数。
void Swap(int* p1, int* p2) { int tmp = *p1; *p1 = *p2; *p2 = tmp; } void SelectSort(int a[], int n) { int begin = 0; int end = n - 1; while (begin < end) { int maxi = begin;//找最大值的下标 int mini = begin;//找最小值的下标 for (int i = begin + 1; i <= end; i++) { if (a[i] < a[mini]) { mini = i; } if (a[i] > a[maxi]) { maxi = i; } } Swap(&a[begin], &a[mini]); Swap(&a[end], &a[maxi]); begin++; end--; } } ★ 首先初始化两个索引begin和end,分别代表当前未排序序列的开始和结束位置。
目录
引言
概述
CART决策树的特点
核心思想
减少不确定性的指标
基尼系数(Gini Index)
分类错误率
熵
银行实例
背景
数据准备
模型构建
模型评估与优化
应用与结果
代码示例
✈✈✈✈引言✈✈✈✈ CART算法既可以用于分类问题,也可以用于回归问题,这使得它在多个领域都有广泛的应用。例如,在电商推荐系统中,CART算法可以用于构建商品推荐模型,提高用户购物体验和销售额;在金融风控领域,CART算法可以应用于信用评分和欺诈检测等场景,帮助银行和其他金融机构降低风险。
相比于其他决策树算法(如ID3和C4.5),CART算法具有更强的适用性。它既可以处理离散型数据,也可以处理连续型数据,这使得CART算法能够处理更加复杂和多样化的数据集。
CART决策树生成的模型具有直观易懂的特点,每个节点和分支都代表了数据集中的一种模式或规则。这使得非专业人士也能够理解模型的工作原理,增加了模型的可信度和接受度。
今天来学习一下CART决策树吧
✈其他文章详见✈
【机器学习】机器的登神长阶——AIGC-CSDN博客
【Linux】进程地址空间-CSDN博客【linux】进程控制——进程创建,进程退出,进程等待-CSDN博客
⭐⭐⭐概述⭐⭐⭐ CART(Classification and Regression Trees)决策树是一种以基尼系数为核心评估指标的机器学习算法,适用于分类和回归任务。
CART决策树基于“递归二元切分”的方法,通过将数据集逐步分解为两个子集来构建决策树。CART既能作为分类树(预测离散型数据),也能作为回归树(预测连续型数据)。外观类似于二叉树。
对于每个节点,计算所有非类标号属性的基尼系数增益,选择增益值最大的属性作为决策树的划分特征。
通过递归的方式,将数据子集和分裂规则分解为一个二叉树,其中叶节点表示具体的类别(分类树)或预测值(回归树)。
CART决策树的特点 简单易懂:计算简单,易于理解,可解释性强。
处理缺失值:比较适合处理有缺失属性的样本。
处理大型数据集:能够在相对短的时间内对大型数据源得出可行且效果良好的结果。
模型复杂度:可以通过限制决策树的最大深度或叶子节点的最小样本数来控制模型的复杂度。
过拟合风险:CART决策树容易出现过拟合现象,生成的决策树可能对训练数据有很好的分类能力,但对未知的测试数据未必有很好的分类能力。
在线学习:CART决策树不支持在线学习,当有新的样本产生后,决策树模型需要重建。
以scikit-learn库中的CART决策树分类器为例,演示如何使用CART决策树进行分类任务
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score # 加载鸢尾花数据集 iris = load_iris() X = iris.data y = iris.target # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.
Comparable 当我们要进行对象的比较的时候,我们是不能直接用>、< 这些符号直接进行比较的。
由于这是引用类型变量也是自定义类型变量,直接进行比较的时候,我们是通过对象的地址进行比较的,我们可以使用==、!= 进行两个对象的地址是否相等,但是不能直接使用 >、< 进行比较,>、< 可以使用在基本的数据类型的比较中,因此 >、< 是不能用于地址的比较的
在Object 类中,我们知道可以使用equals方法来进行对象的比较,返回值是布尔值。如果我们要求返回值是整型的话,我们就要使用到Comparable接口。
使用 class Student implements Comparable<Student>{ public String name; public int age; public Student(String name, int age) { this.name = name; this.age = age; } @Override public int compareTo(Student o) { return this.age - o.age; } } 我们需要写上Comparable 接口,后面的<> 里面的内容写你要比较的对象的类型,这里包含泛型的知识,会在数据结构中讲解~~
我们先来看一下Comparable接口:
Comparable接口中包含 compareTo,因此我们需要重写这个方法,根据不同的比较需求来写不同的比较代码:
这里是实现age比较,如果是name比较,我们该怎么实现?
由于name是String类,String类有实现Comparable接口的,所以我们直接调用即可~~
多个同类型比较 如果我们有很多个学生需要进行比较排序,我们第一时间会想到使用数组来存放,然后通过数组排序(Array.sort())来进行比较排序。
那Array.sort 是怎么进行排序的呢?
事实上Array.sort 是根据待排序的对象中的compareTo方法进行比较的
现在这个类没有Comparable接口:
我们一运行就会发生异常:
这是是Student类不能转化为Comparable,说明Array.sort的排序需要该类实现Comparable接口。
Array.sort 会调用 compareTo 方法进行比较。
一、前言
web系统数据库中保存的公民信息不允许明文存储,比如手机号,身份证号,收货地址等。
二、处理方式
数据库中密文存储,web通过注解的方式对数据加解密处理,下面是处理方法
1、编写接口
public interface EncryptDecryptInterface {
public <T> T encryptSelf();
public <T> T decryptSelf();
public <T> List<T> encryptSelfList(List<T> c);
public <T> List<T> decryptSelfList(List<T> c);
}
public interface EncryptDecryptInterface { public <T> T encryptSelf(); public <T> T decryptSelf(); public <T> List<T> encryptSelfList(List<T> c); public <T> List<T> decryptSelfList(List<T> c); } 2、接口实现
@Data
public class BaseEntity implements Serializable, Cloneable, EncryptDecryptInterface {
/**
* */
private static final long serialVersionUID = 1L;