tag 标签: 代码

相关帖子
相关博文
  • 热度 5
    2024-5-30 11:12
    431 次阅读|
    1 个评论
    软件开发者们有很多让他们焦虑的事情。他们最担心的不再是如何用他们最喜欢的编程语言(C、C++、Erlang、Java等)表达最新的算法。相反,这种担忧正逐渐被人工智能(AI)所取代。 在这里,我们将探讨AI编写代码的过程,并回答这个问题:AI会取代程序员吗? 什么是AI代码生成? 近年来由于生成式AI使用的激增,在很大程度上是因为现在有足够的计算能力来运行深度学习算法,以及用于训练机器学习模型所需的大量数据的增加。 AI代码的生成是使用生成式人工智能和机器学习编写计算机代码的过程。 生成式AI编码工具正在改变软件开发的过程。但这样的进步带来了不确定性。随着AI编写代码,这对软件开发者意味着什么呢? AI编写代码的未来 生成式AI的潜力已经在逐渐成形。AI正在改变行业,并准备加速创新。OpenAI进行的一项研究估计,生成式AI工具可能占据影响所有任务的47%,大大加快软件开发过程。 在Evans Data Corp进行的一项调查中,550名软件开发者被问及他们职业生涯中最令人担忧的问题。29%的人表示“我和我的开发成果已被人工智能取代”。 美国能源部橡树岭国家实验室的一个研究小组同意这一点。到2040年,机器学习和自然语言处理技术将先进到能够编写比最佳人类开发人员更好的软件代码,而且它们会做得更快。 牛津大学的研究“就业未来”警告说,随着机器学习的进步,软件工程师可能会变得计算机化,而软件设计选择将由算法优化。 软件开发,特别是在安全关键行业中,需要确保高代码质量,以满足功能要求。 所以,如果AI正在开发代码,那么代码应该是无错误和问题的。这也包括AI在软件测试中,因为它应该能够以人类不太可能配备的可靠性去检测出编码错误。 如果您确实有AI编写代码,请确保通过使用静态代码分析器来验证它是安全、安全和可靠的。 AI编写代码是否可能? AI可以编写代码。 早在2015年,Andrej Karpathy就运行了一个使用循环神经网络生成代码的项目。他用GitHub的Linux存储库(所有源文件和头文件),将它们合并成一个巨大的文档(超过400MB的C代码),并用这个代码训练了RNN。 这是它产生的: AI生成的代码——包括函数和函数声明——一夜之间。它有参数、变量、循环和正确的缩进。括号被打开,后来又被关闭。它甚至有注释。 然而,AI产生的代码有语法错误。它没有跟踪变量名,有时变量被声明但从未使用,其他时候变量被使用但没有定义。代码示例中的第二个函数比较了tty == tty。 该项目可在GitHub上获取。它使用Torch7深度学习库。这是Karpathy练习产生的整个输出文件。 生成式AI会取代软件工程师吗? AI不会取代程序员,但AI已经在帮助开发人员编写代码。像ChatGPT、Github、CoPilot和OpenAI Codex这样的AI驱动编码助手是可访问的工具,它们帮助嵌入式开发人员更快地编写更好的代码。AI代码生成器现在可以快速生成高质量的代码片段,识别问题和缺陷,并建议对代码片段进行改进。 当然,AI能够创建实际的、可生产的代码,这些代码跨越了几行以上,还需要一段时间。 以下是AI将如何在不久的将来影响软件开发的方式: AI将改进 它将变得擅长自动化任务,并帮助开发人员了解他们的选择。然后,它将让人类决定如何优化AI无法理解的情况。 AI将成为编码伙伴 软件开发人员将使用AI作为编码伙伴来编写更好的软件。如今已经在发生,并将随着AI学会一次编写多于几行代码而继续流行。开发人员将把AI配对编程工具包含在他们的IDE中,类似于人类配对编程,AI工具将根据提示执行编码任务,然后开发人员会审查代码。以往这个过程更加劳动密集,但AI工具可以比人类开发人员更快地执行他们SDLC的某些部分,使开发人员能够专注于更复杂的任务。 但程序员仍然很重要 程序员的真正价值不在于知道如何构建它,而是知道要构建什么。待AI学会如何解释每个功能和建议优先开发的商业价值还需要更长的时间,因此人类程序员的角色将始终存在。 如果AI写出可靠的代码会怎样? 这是一个很大的假设。大多数人类无法编写可靠的代码,而且AI只是一个分析大量人类编写的代码的应用程序。因此AI写出可靠代码的可能性很小。 大多数程序员都同意这一点。在CodeSignal最近的一项调查中,全球1,000名开发人员被问及他们对AI编码助手工具的使用情况。虽然81%的开发人员表示他们使用AI驱动的编码助手,但55%的受访软件工程师表示他们对AI生成的代码质量有顾虑。 所以,AI并不是提高代码质量的答案。 如何在今天提高代码质量 当前,我们可以通过静态代码分析可以提高代码质量,而不是通过用AI取代程序员来实现。 程序员编写代码,静态代码分析器确保代码符合编码规则;扫描代码以识别潜在的错误和安全漏洞;发现在代码审查和软件测试中通常被忽略的错误从而提高整体的代码和软件质量。 提高代码质量的最简单方法之一是使用静态代码分析工具。今天就开始你的免费试用。➡️ 注册免费静态分析试用 免费体验申请 marketing@polelink.com
  • 热度 5
    2024-3-5 13:08
    593 次阅读|
    0 个评论
    要使用YOLOv8进行路面坑洞检测,可以按照以下步骤进行: 1. 准备数据集:收集包含路面坑洞的图片,并为每个图片标注出坑洞的位置。可以使用LabelImg等工具进行标注。 2. 安装依赖库:确保已经安装了Python、OpenCV、NumPy等库。 3. 下载YOLOv8模型:从YOLO官网或GitHub仓库下载预训练的YOLOv8模型。 4. 修改配置文件:根据实际需求修改YOLOv8的配置文件,例如类别数量、锚点尺寸等。 5. 训练模型:使用准备好的数据集和配置文件训练YOLOv8模型。 6. 测试模型:使用测试集评估模型的性能。 7. 应用模型:将训练好的模型应用于实际路面图像,检测坑洞。 以下是一个简单的代码示例: ```python import cv2 import numpy as np from yolov8 import YOLOv8 # 加载预训练的YOLOv8模型 yolo = YOLOv8("yolov8.weights", "yolov8.cfg") # 读取路面图像 image = cv2.imread("road_image.jpg") # 使用YOLOv8进行目标检测 detections = yolo.detect(image) # 在图像上绘制检测结果 for detection in detections: x, y, w, h = detection cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2) # 显示结果 cv2.imshow("Result", image) cv2.waitKey(0) cv2.destroyAllWindows() ``` 注意:这里的代码仅作为示例,实际应用时需要根据具体情况进行调整。
  • 热度 3
    2024-1-19 09:57
    367 次阅读|
    0 个评论
    迷宫老鼠机器人代码涉及到多个方面,包括传感器数据处理、路径规划算法、控制算法等。由于篇幅原因,这里只给出一个简化版的迷宫老鼠机器人代码示例,仅供参考: ```python import time import random # 迷宫地图 maze = , , , , ] # 机器人当前位置 x, y = 1, 1 # 目标位置 target_x, target_y = 3, 3 # 传感器数据 sensor_data = # 路径规划算法 def path_planning(): path = == 0: return "up" elif sensor_data == 0: return "right" elif sensor_data == 0: return "down" else: return "left" # 移动 def move(direction): global x, y if direction == "up": x -= 1 elif direction == "right": y += 1 elif direction == "down": x += 1 else: y -= 1 return x, y # 主循环 while True: # 获取传感器数据 sensor_data = get_sensor_data() print("Sensor data:", sensor_data) # 路径规划 path = path_planning() print("Path:", path) # 执行路径规划结果 for direction in path: move(direction) time.sleep(1) print("Current position:", x, y) # 到达目标位置 if (x, y) == (target_x, target_y): print("Arrived at the target!") break ``` 这个示例中,迷宫地图用一个二维列表表示,其中0表示可以通过的空地,1表示墙壁。机器人当前位置和目标位置分别用变量x、y和target_x、target_y表示。传感器数据用一个列表表示,其中每个元素表示对应方向上的障碍物距离。路径规划算法使用简单的贪心算法,根据传感器数据选择下一步方向。主循环中,不断获取传感器数据,进行路径规划,并执行路径规划结果。
  • 热度 4
    2023-12-18 20:19
    630 次阅读|
    0 个评论
    硬件方案--110V方案 下载链接!! 本套逆变器方案分110V输出以及220V输出,电池最大电压是48V,包括了LCD 。110V方案主控使用的dsp是MICROCHIP(美国微芯)的dsPIC33FJ16GS504芯片,ACDC控制器是TOP250YN,运算放大器包含LM358、MCP6022,电流感应放大器INA168,单片机是 MICROCHIP(美国微芯)的PIC18F2420-E/SO,电流传感器是LEM(莱姆)的HXS 20-NP。IGBT是采用的英飞凌的IR2214,DCDC芯片是TI(德州仪器)的LM5575,用来输出DC12V,以及其他一些列变压器。 硬件方案--220V方案 本套逆变器方案分110V输出以及220V输出,电池最大电压是48V,包括了LCD 。220V的方案和110V方案类似主控使用的dsp是MICROCHIP(美国微芯)的dsPIC33FJ16GS504芯片,ACDC控制器是TOP250YN,运算放大器包含LM358、MCP6022,电流感应放大器INA168,单片机是 MICROCHIP(美国微芯)的PIC18F2420-E/SO,电流传感器是LEM(莱姆)的HXS 20-NP。IGBT是采用的英飞凌的IR2214,DCDC芯片是TI(德州仪器)的LM5575,用来输出DC12V,以及其他一些列变压器。 硬件方案--PCB 软件方案 软件是DSP方案,包含正弦波模块,LCD显示模块以及其他相关计算模块,是完整工程文件,可以参考学习相关算法。
  • 热度 7
    2023-10-12 10:09
    544 次阅读|
    0 个评论
    D ocker 简介 Docker是一个开源的应用容器引擎,它可以实现让开发者打包他们的应用、依赖以及配置到一个可移植的镜像中,并且可以发布到任何可运行Docker的Linux或Windows操作系统的机器上,并可以无需再次进行配置便完美执行。Docker容器是使用的沙箱机制,任何容器之间的创建、运行和关闭不会相互影响,相互之间也不会有任何接口。容器和虚拟机虽然都使用虚拟化技术,但容器并不是模拟一个完整的操作系统,而是在宿主机操作系统上应用虚拟化技术,可实现软件应用的秒级启动和响应,相比而言,虚拟机冗余步骤多、启动太慢、占用内存硬盘资源,过于笨重。 在敏捷开发模式越发流行的现在,Docker技术的使用也越发普遍,开发过程中对迭代版本中的代码的测试成本也逐渐增长,如何方便快捷地对代码进行测试也随之成为了一个越来越值得关注的问题。 在众多种类的代码动态测试工具中,北汇信息所采用的是Vector旗下的代码动态测试工具—VectorCAST/C++。 VectorCAST/C++工具是德国Vector公司的一款白盒测试工具,主要用于实现代码的单元测试和集成测试。工具最大的特点以及优势就在于经受了多个大型量产项目的实践,证明了工具对C++高阶特性、Linux系统和CI平台的强力支持。 那下面为大家介绍VectorCAST这款强力的动态代码测试工具在Docker场景中的使用。 VectorCAST 使用 基于Docker技术进行开发,实际情景一般是代码与编译环境同时部署在镜像中,或是代码和编译环境分开部署在本地服务器和镜像内,那么这也导致在使用工具时可能会采用不同的方式。 一、挂载工具方式 在使用多个Docker镜像进行代码版本迭代或控制的开发场景下,不需要将VectorCAST工具先放置到镜像中,而是使用挂载的形式,将工具在启动容器时挂载到对应容器中,以实现在容器中对工具的使用,此方式大大减少了工具重复的安装过程,并且实现同一个工具对不同镜像的复用。下面简要说明使用的流程。 容器的启动 参数解析: 1、docker:Docker的二进制执行文件。 2、run:与前面的docker组合来运行一个容器。 3、-v:设定共享目录,为了将安装包保存到容器中,需要指定目录。D:\Docker\Data指本地目录,可以自定义;/dev/shm是指容器中的目录。将需要复制到容器中的文件放置到D:\Docker\Data中,在容器中就可以进入/dev/shm来访问这些文件。 4、-i: 以交互模式运行容器 5、-t: 为容器重新分配一个伪输入终端 6、-e:设置环境变量 在启动容器时将工具所在的目录通过-v选项挂载到容器内。 修改工具启动文件 工具在容器内打开后使用的是容器内部的文件树,所以需要将启动文件中对应的路径进行修改。 工具启动与使用 工具成功启动后可以在工具顶端会标识出正在运行工具的容器id号。 二、工具镜像方式 若是需要进行经常性的工具迁移使用,使用工具挂载方式会显得不便捷,那可以选择另一种方式在容器中使用工具,即将工具放置在镜像内,实现快捷的工具迁移。以下对此方式进行介绍。 编写 D ockerfile 使用dockerfile在制作镜像时将工具目录同时拷贝进去而形成一个新的镜像。 构建镜像 启动容器 使用指令启动刚刚新制作的镜像,而镜像里本身就已经包含着工具,不需额外对工具进行挂载。 修改工具启动文件 工具在容器内打开后使用的是容器内部的文件树,所以需要将启动文件中对应的路径进行修改。修改后可启动工具。 工具使用 工具成功启动后同样可以在工具顶端标识出正在运行工具的容器id号。 总结 在敏捷开发模式越发流行的现在,Docker技术的使用也随之越发普遍,使用Docker会给开发带来一些优势,如更高效的系统资源利用、更快速的应用启动、提供统一的运行环境、利于实现持续集成与部署、更易于移植以及更便捷的维护和拓展。但对开发过程中对迭代版本中的代码的测试成本也逐渐增长,方便快捷地对代码进行尽可能早的测试也成为了越来越多用户所追求的。 VectorCAST作为一款强力的C/C++代码测试工具,不仅可以与Docker技术进行结合,并且可以适配实际的交叉编译链,对代码基于最真实编译环境进行完备的测试检验,大大减少因代码测试中测试工具与环境分割或适配带来的花费,提高测试效率和降低测试难度。 如果您想了解更多有关信息请联系北汇信息,北汇信息作为Vector公司的中国合作伙伴,拥有专业的VectorCAST测试服务团队,可为您提供周全完整的研发、测试解决方案及优质的技术支持服务。
相关资源
  • 所需E币: 0
    时间: 2024-10-21 11:13
    大小: 3.7KB
    上传者: huangyasir1990
    一、Llama3大模型是什么?Llama是由Meta的人工智能研究团队开发并开源的大型语言模型(LLM),继Llama2+模型之后,Meta进一步推出了性能更卓越的MetaLlama3系列语言模型,包括一个80亿参数模型和一个700亿参数模型。Llama370B的性能美Gemini1.5Pro,全面超越Claude大杯,而400B+的模型则有望与Claude超大杯和新版GPT-4Turbo掰手腕二、llama2和llama3有什么区别?llama3与llama2的模型架构完全相同,只是model的一些配置(主要是维度)有些不同,llama2推理的工程基本可以无缝支持llama3。在meta官方的代码库,模型计算部分的代码是一模一样的,也就是主干decoderonly,用到了RoPE、SwiGLU、GQA等具体技术。通过对比huggingface模型中的config.json,首先可以看出,模型都是LlamaForCausalLM这个类,模型结构不变。三、Llama3的目标和最佳表现Llama3拥抱开源社区。通过不断响应用户反馈来提升模型效果,并且持续在负责任的AI领域扮演重要角色。近期发布的基于文本的模型是Llama3集合的一部分。未来的目标是使Llama3成为多语言、多模态、长上下文、持续提升核心能力,如:推理和代码生成。得益于pretraining和post-training的改进,我们的pretrained模型和instruction-fine-tuned模型是8B和70B最好的大模型。post-training的改进包括:降低误拒率、改进的对齐方法、模型回答的多样性。同时,我们也看到Llama3综合能力的提升,如:推理、代码生成、指令遵循。这使得Llama3更加可控。四、从头构建LLaMA3大模型(Python)首先是模型架构的选择。原工作用的是GPTNeo架构(可以看他们的config),这个算是很老的模型了,最初是EleutherAI用来复现追踪GPT-3的工作的,现在用的也比较少了。我打算选用LLaMA架构,也算是符合研究主流、便于推广。LLaMA3主要多了个GQA,也是现在模型的主流,我这里也用一下。其次是数据的选择。既然是复现,就直接贯彻拿来主义,用原工作开源的数据集(主要是从头生成要花不少api费用)。原工作第一版的时候用的是GPT-3.5生成的数据,后面社区有人更新了第二版,是用GPT-4生成的,比原数据更好,就用它了。最后是训练。其实我手上就两张306012G和4060Ti16G,训这个确实是绰绰有余,但我还是不想在桌前吵我自己,于是继续用Colab。现在Colab可以直接看到剩余使用时长了,虽然已经被砍到只有3h左右的用卡时间,但至少心里有个底,况且3h训我们这个也完全够了。五、用户与LlaMA3进行交互的方式主要分为6个阶段。阶段1:通过按原样使用模型,以适应广泛的应用场景。第2阶段:在用户自定义的应用程序中使用模型。第3阶段:使用提示工程来训练模型,以产生所需的输出。第4阶段:在用户端使用提示工程,同时深入研究数据检索和微调,这仍然主要由LLM提供商管理。第5阶段:把大部分事情掌握在自己(用户)手中,从提示工程到数据检索和微调(RAG模型、PEFT模型等)等诸多任务。第6阶段:从头开始创建整个基础模型——从训练前到训练后。为了最大限度地利用这些模型,建议最好的方法是使用上面的第5阶段,因为灵活性很大程度上取决于用户自身。能够根据领域需求定制模型对于最大限度地提高其收益至关重要。因此,如果不参与到系统开发中,是不能产生最佳回报的。
  • 所需E币: 0
    时间: 2024-8-29 16:18
    大小: 1.05MB
    上传者: wuyu2009
    怎么测评word一直上传不了?传了一下午了
  • 所需E币: 0
    时间: 2024-3-8 21:20
    大小: 31.19MB
    上传者: zhusx123
    重构-改善既有代码的设计 程序员的书
  • 所需E币: 5
    时间: 2024-3-1 13:32
    大小: 5.61MB
    上传者: htwdb
    本文提出了一种基于深度学习的C语言代码缺陷定位方法。该方法不同于以往的利用缺陷报告或者以缺陷代码形成训练库的代码缺陷定位方法,而是基于OJ系统存在的大量正确代码形成检测模板,即将大量正确的代码作为训练数据通过深度学习技术进行训练构建代码模板库,通过找出与提交代码最相似的模扳代码,对缺陷代码进行缺陷定位。具体地,该方法将C语言代码表示为抽象语法树(AST)的形式,并对AST进行子树拆分,使用Word2vec词嵌入技术对代码进行编码,输入神经网络模型进行特征提取,构建代码模板库;在检测阶段将缺陷代码与代码模板库中的代码进行相似度计算,找出最相似的模板代码,通过逐句地词法分析找出缺陷语句,从而实现C语言代码的缺陷定位。通过对两个数据集以及相应测试集的构建来进行方法的有效性验证,结果表明本文的方法具有较好的缺陷定位效果。     其次,本文探索了该方法在C语言课程教学实验系统的应用,通过在实验代码提交页面添加“错误提示”功能,对代码的逻辑缺陷进行检测井反馈给学生,帮助学生更快地发现代码中可能存在的缺陷语句。最后,本文给出了针对该功能的可用性测试、性能测试、以及安全性测试结果,证明该方法在实际系统中的有效性
  • 所需E币: 1
    时间: 2024-2-27 21:14
    大小: 731.05KB
    上传者: zhusx123
    嵌入式单片机C代码规范与风格_V1.1
  • 所需E币: 2
    时间: 2024-2-23 12:01
    大小: 363.88KB
    上传者: 小恶魔owo
    "alt=""/>General_Files是用户编辑的地方,不需要动main函数
  • 所需E币: 2
    时间: 2024-2-21 17:48
    大小: 105.71KB
    上传者: 小恶魔owo
    高德地图的API大全,收集以及验证代码的完整性,让地图、物联网、天气等等API的设计提供一个相对标准的代号,让API更加易读、易理解
  • 所需E币: 5
    时间: 2024-1-25 15:40
    大小: 4.52MB
    上传者: 丙丁先生
    CW32遥控寻迹小车代码.rar
  • 所需E币: 5
    时间: 2024-1-25 15:44
    大小: 1.56MB
    上传者: 丙丁先生
    AT指令无线串口模块-第四期代码.zip
  • 所需E币: 5
    时间: 2024-1-25 15:45
    大小: 6.81MB
    上传者: 丙丁先生
    AT指令无线串口模块-第三期代码.zip
  • 所需E币: 2
    时间: 2023-11-10 16:43
    大小: 39.4KB
    上传者: Argent
    SiliconLabs(芯科科技)Si446x模拟SPI接口以及radio驱动代码
  • 所需E币: 2
    时间: 2023-11-10 16:45
    大小: 9.82MB
    上传者: Argent
    SiliconLabs(芯科科技)Si446xSub_GHz无线收发器软件参考代码
  • 所需E币: 0
    时间: 2023-10-24 09:19
    大小: 3.39KB
    上传者: popy
    数字时钟例程代码.zip
  • 所需E币: 1
    时间: 2023-7-12 09:19
    大小: 2.73MB
    上传者: 张红川
    最终项目代码.zip
  • 所需E币: 1
    时间: 2023-7-10 15:35
    大小: 7.82MB
    上传者: 张红川
    Day4实现代码驱动NB-IOT.rar
  • 所需E币: 1
    时间: 2023-7-1 20:13
    大小: 559.52KB
    上传者: Argent
    【正点原子】嵌入式LinuxC代码规范化V1.0
  • 所需E币: 2
    时间: 2023-6-28 11:15
    大小: 7.31MB
    上传者: 张红川
    dyuRobot_大平衡车代码(蓝牙遥控版).rar
  • 所需E币: 1
    时间: 2023-6-28 11:12
    大小: 172KB
    上传者: 张红川
    pid学习代码.pdf
  • 所需E币: 5
    时间: 2023-5-25 13:49
    大小: 587.53KB
    上传者: 木头1233
    TCS3200颜色传感器模块参考代码原理图文档资料
  • 所需E币: 2
    时间: 2023-5-12 16:19
    大小: 122.68MB
    重构:改善既有代码的设计(第2版)-[美]MartinFowler