前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >为什么要在WebAssembly中使用Rust?【Programming】

为什么要在WebAssembly中使用Rust?【Programming】

作者头像
Potato
修改于 2019-11-25 07:14:08
修改于 2019-11-25 07:14:08
1.5K0
举报

👉看目录,点收藏

1.官方体验入口

2.上手体验解决需求

3.小说生成改文能力

4.技术开发实践

5.应用前景

6.Photomaker结合修改提示词

7.windows本地一键运行包

8.总结

导读

最近经常有测试和产品同学让我帮忙处理数据,倒不是单纯写SQL,而是面对各种不同类型的数据,需要不通的格式处理,特别是动辄上万的数据,通过文本编辑一眼都望不到头,超过2万,文本编辑工具都卡的不行,手动处理数据效率太低,腾讯混元:看我的~~~

官方体验入口

腾讯混元 (tencent.com)

支持多轮对话,内容创作,逻辑推理,知识增强,多模态,这每个功能在日常工作中的应用简直显而易见,优化代码,生成简易SQL,应有尽有,甚至可以用于视频脚本创作

上手体验解决需求

需求一

第一位同事的需求,面对大量数据,想要一次性进行SQL查询,但苦于没有时间和文本工具又响应极其的慢,不得不求助开发同学,现在给到的数据需要每行末尾加一个逗号,且针对数据加字符处理,以便在SQL内直接使用,腾讯混元:看我的~~

提示词:现在你是一位前端程序员,请使用html实现以下功能,给定一个输入框,对输入框内的数据,前后加上英文的单引号,并在末尾加上逗号,最后一行数据不用加逗号,点击生成按钮,输出到输出框内, 示例 输入框数据为

输出结果

代码语言:html
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>前端程序员助手</title>
</head>
<body>
    <h1>前端程序员助手</h1>
    <p>请输入数据:</p>
   <textarea id="inputText" rows="10" cols="50"></textarea>
    

   <button onclick="generate()">生成</button>
    <p>输出结果:</p>
   <textarea id="outputText" rows="10" cols="50" readonly></textarea>
   <script>
        function generate() {
            const inputText = document.getElementById('inputText').value;
            const lines = inputText.split('\n');
            let output = '';
            for (let i = 0; i< lines.length; i++) {
                if (lines[i].trim() !== '') {
                    output += "'" + lines[i].trim() + "',";
                    if (i === lines.length - 1) {
                        output = output.slice(0, -1);
                    }
                    output += '\n';
                }
            }
            document.getElementById('outputText').value = output;
        }
    </script>
</body>
</html>

验证功能完美实现

优化此功能,如果数据量大,不能一次性复制到粘贴板,希望拥有一个复制结果按钮,腾讯混元:看我的~

代码语言:html
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>前端程序员助手</title>
</head>
<body>
    <h1>前端程序员助手</h1>
    <p>请输入数据:</p>
  <textarea id="inputText" rows="10" cols="50"></textarea>
    

  <button onclick="generate()">生成</button>
    <p>输出结果:</p>
  <textarea id="outputText" rows="10" cols="50" readonly></textarea>
   

  <button onclick="copyToClipboard()">复制结果</button>
  <script>
        function generate() {
            const inputText = document.getElementById('inputText').value;
            const lines = inputText.split('\n');
            let output = '';
            for (let i = 0; i< lines.length; i++) {
                if (lines[i].trim() !== '') {
                    output += "'" + lines[i].trim() + "',";
                    if (i === lines.length - 1) {
                        output = output.slice(0, -1);
                    }
                    output += '\n';
                }
            }
            document.getElementById('outputText').value = output;
        }

        function copyToClipboard() {
            const outputText = document.getElementById('outputText');
            outputText.select();
            outputText.setSelectionRange(0, 99999);
            document.execCommand('copy');
        }
   </script>
</body>
</html>

需求二

第二位同事的需求来源于财务同学,他们对于数据的处理通常习惯在XLS表格内处理,但是表格密密麻麻,时间久了难免粗心大意,如何快速找出在数据表格内数据中带有空格或者换行或者回车等非法字符?

提示词:

现在你是一位前端程序员,请使用html实现以下功能,给定一个输入框,对输入框内的数据,校验是否存在空格,换行,或者回车等特殊字符,如果存在,将这条数据标红

需求三

在日常单元测试中,经常需要对测试数据进行拼接,但是数据没有数据源,无法从数据库中查询,只能手动造数据,但是数据结构需要手动填充数据,此时的造数据就是一个需要优化的地方,腾讯混元:看我的~

提示词:现在你是一位前端程序员,请使用html实现以下功能,给定一个输入框,对输入框内的数据,拼接到map里面,第一个数据为map的key,第二个数据为map的v,并输出在输出框,

代码语言:html
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>前端程序员助手</title>
</head>
<body>
    <h1>前端程序员助手</h1>
    <p>请输入数据:</p>
  <textarea id="inputText" rows="10" cols="50"></textarea>
    

  <button onclick="generate()">生成</button>
    <p>输出结果:</p>
  <textarea id="outputText" rows="10" cols="50" readonly></textarea>
  <script>
        function generate() {
            const inputText = document.getElementById('inputText').value;
            const lines = inputText.split('\n');
            let output = '';
            let map = new Map();
            for (let i = 0; i< lines.length; i++) {
                if (lines[i].trim() !== '') {
                    const keyValue = lines[i].split(/\s+/);
                    if (keyValue.length === 2) {
                        const key = keyValue[0];
                        const value = keyValue[1];
                        if (!map.has(key)) {
                            map.set(key, []);
                        }
                        map.get(key).push(value);
                    }
                }
            }
            for (const [key, values] of map.entries()) {
                for (const value of values) {
                    output += `map.put("${key}", "${value}")\n`;
                }
            }
            document.getElementById('outputText').value = output;
        }
    </script>
</body>
</html>

这几个例子全部是前端功能实现,那么日常后端开发中有没有可以用到的呢?

需求四

在日常开发中,对于外部接入的数据,需要转换,因为数据结构的设计不通用,需要将String类型转换为Bigdecimal

但是在此之前,需要判断是否能够转为Bigdecimal,腾讯混元:看我的~~

真是个小机灵鬼,如果出错就不能哈哈哈哈哈哈

代码语言:java
AI代码解释
复制
  public static boolean isBigDecimal(String str) {
    try {
      new BigDecimal(str);
      return true;
    } catch (NumberFormatException e) {
      return false;
    }
  }

  public static void main(String[] args) {
    System.out.println(isBigDecimal("123.45")); // true
    System.out.println(isBigDecimal("123.00")); // true
    System.out.println(isBigDecimal("123.00.00")); // false
    System.out.println(isBigDecimal("abc123")); // false
  }

需求五

面对项目中每天的异常和慢响应治理,虽然我们可以选择sonar来治理检查,但是面对历史业务,有些只能从SQL方面入手,那么大数据量的SQL优化,除了已经优化的点,还有没有可能再进行优化呢?腾讯混元:看我的~

先来个简单的练练手~

请问在使用Group By关键字进行分组查询时,是否可以对结果进行排序?

线上实战SQL优化

现在你是一位MYSQL专家,请分析下面的SQL,如何优化,由于隐私原因就不在此放全部SQL

代码语言:sql
AI代码解释
复制

explain SELECT
    t.origin_order_code,
    t1.plan_date,
    t.product_code,
    t.product_name,
    sum( t2.plan_qty ) plan_qty,
    SUM( t2.shipped_qty ) shipped_qty,
    IFNULL( sum( t3.qty ), 0 ) qty,
    t.nuclear_goods_num,
    t.update_by,
    t.update_time,
    t.unit 
  FROM
    goods t
    LEFT JOIN order_header t1 ON t.origin_order_code = t1.origin_order_code
    LEFT JOIN order_item t2 ON t1.order_code = t2.order_code 
    AND t.product_code = t2.product_code 
    AND t1.send_location_code = t2.location_code
    LEFT JOIN tainer_detail t3 ON t.origin_order_code = t3.sale_order_code 
    AND t.product_code = t3.product_code 
    AND t.warehouse_code = t3.warehouse_code 
  WHERE
    t.warehouse_code = 'XXX' 
    AND t1.send_location_code = 'XXX' 
    AND t2.location_code = 'XXX' 
  GROUP BY
    t.origin_order_code,
  t.product_code ;

分析结论

  1. 大表做关联查询时,要保证关联字段存在索引。如果没有索引,join关联查询效率会极低
  2. 绝大部分慢查询优化,降低主查询的扫描行数(修改sql查询逻辑,修改业务查询逻辑)

例:调整预计送货时间查询条件必填,降低主查询扫描行数

  1. 单表查询,对新加字段数据量过大情况,如果未增加索引,同样会引发慢查询场景
代码语言:sql
AI代码解释
复制
首先,我们可以通过查看EXPLAIN的结果来分析这个SQL查询的性能。EXPLAIN会显示MySQL如何执行查询,包括使用的索引、表连接方式等信息。

EXPLAIN SELECT
    t.origin_order_code,
    t1.plan_date,
    t.product_code,
    t.product_name,
    sum( t2.plan_qty ) plan_qty,
    SUM( t2.shipped_qty ) shipped_qty,
    IFNULL( sum( t3.qty ), 0 ) qty,
    t.nuclear_goods_num,
    t.update_by,
    t.update_time,
    t.unit 
  FROM
    goods t
    LEFT JOIN order_header t1 ON t.origin_order_code = t1.origin_order_code
    LEFT JOIN order_item t2 ON t1.order_code = t2.order_code 
    AND t.product_code = t2.product_code 
    AND t1.send_location_code = t2.location_code
    LEFT JOIN tainer_detail t3 ON t.origin_order_code = t3.sale_order_code 
    AND t.product_code = t3.product_code 
    AND t.warehouse_code = t3.warehouse_code 
  WHERE
    t.warehouse_code = 'XXX' 
    AND t1.send_location_code = 'XXX' 
    AND t2.location_code = 'XXX' 
  GROUP BY
    t.origin_order_code,
  t.product_code ;
根据EXPLAIN的结果,我们可以分析出以下优化建议:

为goods表的warehouse_code、origin_order_code和product_code列创建索引,以加快WHERE子句和GROUP BY子句的执行速度。

ALTER TABLE goods ADD INDEX idx_warehouse_code (warehouse_code);
ALTER TABLE goods ADD INDEX idx_origin_order_code (origin_order_code);
ALTER TABLE goods ADD INDEX idx_product_code (product_code);
为order_header表的send_location_code和origin_order_code列创建索引,以加快WHERE子句和JOIN操作的执行速度。
ALTER TABLE order_header ADD INDEX idx_send_location_code (send_location_code);
ALTER TABLE order_header ADD INDEX idx_origin_order_code (origin_order_code);
为order_item表的location_code、product_code和order_code列创建索引,以加快JOIN操作的执行速度。
ALTER TABLE order_item ADD INDEX idx_location_code (location_code);
ALTER TABLE order_item ADD INDEX idx_product_code (product_code);
ALTER TABLE order_item ADD INDEX idx_order_code (order_code);
为tainer_detail表的warehouse_code、product_code和sale_order_code列创建索引,以加快JOIN操作的执行速度。
ALTER TABLE tainer_detail ADD INDEX idx_warehouse_code (warehouse_code);
ALTER TABLE tainer_detail ADD INDEX idx_product_code (product_code);
ALTER TABLE tainer_detail ADD INDEX idx_sale_order_code (sale_order_code);
考虑将LEFT JOIN操作替换为INNER JOIN操作,如果可能的话。这将减少查询结果集的大小,从而提高查询性能。
如果可能,尝试将查询分解为多个子查询或使用临时表来减少数据处理的复杂性。
请注意,这些优化建议可能会根据实际数据表结构和查询需求而有所不同。在应用这些建议之前,请确保备份数据库并对查询进行充分测试,以确保优化后的查询仍然能够返回正确的结果。

小说生成改文能力

2222年,是人类在地球上的最后一个时代。在这个科技高度发达的时代,人类创造了无数惊人的科技成果,但也承受着地球逐渐枯竭的资源带来的恶果。

太阳已经开始步入红巨星阶段,地球表面的温度逐渐升高,海平面不断上升,气候变化无常,生物大量灭绝。人类为了生存,不得不放弃地球,乘坐宇宙飞船前往太空寻找新的家园。

在这个过程中,出现了一位名叫艾伦的天才科学家。他在研究宇宙的过程中,发现了一个名为“诺瓦”的星球,这个星球的环境与地球十分相似,有望成为人类的新家园。然而,诺瓦星球距离地球数百光年,以现有的科技水平,人类无法在有限的时间内到达。

为了实现人类的重生,艾伦带领团队开展了一项名为“时光穿越”的研究项目。他们试图通过时光穿越技术,将人类的意识传输到诺瓦星球,实现人类在诺瓦星球的“重生”。

经过多年的努力,艾伦团队终于发明了名为“意识穿梭器”的装置,可以将人类的意识传输到诺瓦星球。然而,这项技术的测试需要一个志愿者。志愿者的意识将被永久地留在诺瓦星球,无法回到地球。

艾伦的妻子,艾米,是一个勇敢的女子。她知道这项技术的风险,但还是义无反顾地成为了志愿者。她说:“为了人类的未来,我愿意做出牺牲。”在艾伦的泪眼中,艾米的意识被传输到了诺瓦星球。

艾伦带着团队的成员继续优化意识穿梭器。在他们的努力下,意识穿梭器的传输速度越来越快,人类可以在诺瓦星球的意识中停留的时间也越来越长。

终于,地球的环境恶化到了极点。人类不得不启动“诺亚方舟计划”,乘坐宇宙飞船离开地球。在艾伦的指引下,人们开始通过意识穿梭器前往诺瓦星球。

然而,诺瓦星球并不像地球那样容易适应。人类的身体在诺瓦星球上产生了各种不适,许多人因此生病甚至死亡。艾伦意识到,他们需要找到一种方法,让人类的身体在诺瓦星球上生存下来。

在一次实验中,艾伦发现了一种名为“诺瓦因子”的物质,可以让人类的身体适应诺瓦星球的环境。然而,诺瓦因子只在诺瓦星球上才有,地球上的资源已经枯竭,无法提取诺瓦因子。

艾伦决定,他要用自己的意识回到过去,找到提取诺瓦因子的方法,让人类在诺瓦星球上生存下来。然而,这样做会让艾伦的意识永远留在过去,无法回到2222年的诺瓦星球。

艾伦没有犹豫,他告诉自己:“为了人类,我别无选择。”他启动了意识穿梭器,将自己的意识送回到了过去。

艾伦的意识回到了一百年前,那时地球的环境还没有恶化。他利用自己的知识,找到了一种提取诺瓦因子的方法,并将这项技术传给了当时的科学家们。

然而,艾伦的意识却无法回到2222年的诺瓦星球。他只能将自己的意识留在过去,通过时光穿梭器,将自己所拥有的知识传递给未来的人类。

在艾伦的帮助下,人类成功提取了诺瓦因子,并制造出了可以让人体适应诺瓦星球的装置。在地球毁灭的那一刻,人类乘坐着宇宙飞船,带着诺瓦因子和装置,前往诺瓦星球。

在诺瓦星球上,人类的身体逐渐适应了诺瓦星球的环境。他们在诺瓦星球上建立了新的文明,延续着人类的希望。

而艾伦的意识,永远留在了一百年前。他用自己的一生,拯救了人类,让人类得以在诺瓦星球上生存下来。他的英勇事迹,成为了人们口中的传奇,永远留在了人类的历史中。

技术开发实践

数据准备-->模型训练-->模型优化-->部署与测试

应用前景

Photomaker结合修改提示词

这个项目主要是为了生成写实人像的哈,虽然能处理非写实的数据,但是生成的图还是针对写实人像的

文本到图像生成的最新进展在合成基于给定文本提示的逼真人类照片方面取得了显着进展。 然而,现有的个性化生成方法无法同时满足高效率、有前途的身份(ID)保真度和灵活的文本可控性要求。 在这项工作中,我们介绍了PhotoMaker,这是一种高效的个性化文本到图像生成方法,它主要将任意数量的输入ID图像编码到堆栈ID嵌入中,以保存ID信息。 这样的嵌入,作为统一的ID表示,不仅可以全面封装同一输入ID的特征,还可以容纳不同ID的特征,以便后续集成。 这为更有趣和更实用的应用铺平了道路。 此外,为了推动PhotoMaker的训练,我们提出了一个面向ID的数据构建管道来组装训练数据。 在通过拟建管道构建的数据集的滋养下, 与基于测试时微调的方法相比,我们的 PhotoMaker 具有更好的 ID 保留能力,但可显著提高速度、获得高质量的生成结果、强大的泛化能力和广泛的应用。

我们的方法将相同身份的几个输入图像转换为堆叠的 ID 嵌入。 这种嵌入可以看作是要生成的 ID 的统一表示。 在推理阶段,构成堆叠 ID 嵌入的图像可以来自不同的 ID。 然后,我们可以在不同的上下文中合成自定义的 ID。

我们首先分别从文本编码器和图像编码器中获取文本嵌入和图像嵌入。 然后,我们通过合并相应的类嵌入(例如,男人和女人)和每个图像嵌入来提取融合嵌入。 接下来,我们沿长度维度连接所有融合嵌入,形成堆叠 ID 嵌入。 最后,我们将堆叠的 ID 嵌入提供给所有交叉注意力层,以便自适应地合并扩散模型中的 ID 内容。 需要注意的是,虽然我们在训练时使用了相同ID和遮罩背景的图像,但我们可以直接输入不同ID的图像,而不会出现背景失真,从而在推理过程中创建一个新的ID。

这里我理解的自定义的 ID和保持一致的id就可以理解为SD中的种子,seed值最能够定义图片的范围和图像,结合以前出的ipadapter即可实现图像风格和人脸迁移,seed值是我们再AI绘画中比较和交换的起点,SD会以seed值为中心,将其周围的像素进行扩散或模糊处理。这里的seed值可以是一个像素点、一个区域或者整幅图像。

windows本地一键运行包

代码语言:html
AI代码解释
复制
https://pan.quark.cn/s/d282f4a86c91#/list/share

那么我们了解一下官方的提示词语法

对于风格化,您可以使用我们的其他渐变演示PhotoMaker风格。

❗️❗️❗️[重要]个性化步骤:

1.️⃣ 上载您要自定义的某人的图像。一张图片可以,但越多越好。虽然我们不进行人脸检测,但上传图像中的人脸应该占据图像的大部分。

2.️⃣ 输入文本提示,确保在要自定义的类单词后面加上触发词:img,例如:man img或woman img或girl img。

3.️⃣ 选择您喜欢的样式模板。

4.️⃣ 单击“提交”按钮开始自定义。

我们平时写提示词时不可能回家这个特殊触发词,但是如果我们不加,实测肯定会报错的,那么就根据这个特性,我们怎么快速的加一个触发词呢?腾讯混元:看我的~~

代码语言:html
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Image Trigger</title>
</head>
<body>
   <input type="text" id="input-text" placeholder="请输入文本">
   <button id="convert-button">转换</button>
    <p id="output-text"></p>

   <script>
        const inputText = document.getElementById("input-text");
        const convertButton = document.getElementById("convert-button");
        const outputText = document.getElementById("output-text");

        convertButton.addEventListener("click", function() {
            const inputWords = inputText.value.split(/\s+/);
            const updatedWords = inputWords.map(word => {
                if (word === "man" || word === "woman" || word === "girl" || word === "boy") {
                    return word + " img";
                } else {
                    return word;
                }
            });

            outputText.textContent = updatedWords.join(" ");
        });
    </script>
</body>
</html>

复制这段代码,保存到桌面,以.html结尾

优化页面样式

测试功能

总结

深度的测试了腾讯混元大模型在实际工作,生活中快速提高生产力的功能,整体满意度100%,实实在在的提高了生产效率,结合有效的提示词工程,AI与AI之间的差距始终在于使用的人。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
什么是cuDNN?如何安装CUDA和cuDNN
文章原文指路:https://juejin.cn/post/7479993915041660968
CloudStudio
2025/03/13
9130
RTX4060+ubuntu22.04.3+cuda12.4.1+cudnn9.1.1安装验证
这款笔记本电脑因为触摸板驱动限制,需要选择ubuntu22.04.3以上版本;而RTX4060+cuda限制需要选择ubuntu22.04.3版本,更新版本的cuda并非一定不能使用,而是官方文档验证过的是此版本。
tankaro
2025/02/23
4930
Nvidia 3060显卡 CUDA环境搭建(Ubuntu22.04+Nvidia 510+Cuda11.6+cudnn8.8)
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》
山河已无恙
2023/08/21
1.9K1
Nvidia 3060显卡 CUDA环境搭建(Ubuntu22.04+Nvidia 510+Cuda11.6+cudnn8.8)
Nvidia 显卡 Failed to initialize NVML Driver/library version mismatch 错误解决方案
本文记录错误 Failed to initialize NVML: Driver/library version mismatch 错误解决方案。 问题复现 $ nvidia-smi --> Failed to initialize NVML: Driver/library version mismatch 问题分析 NVIDIA 内核驱动版本与系统驱动不一致 查看显卡驱动所使用的内核版本 cat /proc/driver/nvidia/version --> NVRM version: NV
为为为什么
2022/08/05
15.1K1
Nvidia 显卡 Failed to initialize NVML Driver/library version mismatch 错误解决方案
RDMA - GDR GPU Direct RDMA快速入门1
NVIDIA GPUDirect 是一系列技术, 用于增强 GPU间(P2P)或GPU与第三方设备(RDMA)间的数据移动和访问, 无论您是在探索海量数据、研究科学问题、训练神经网络还是为金融市场建模,您都需要一个具有最高数据吞吐量的计算平台。GPU 的数据处理速度比 CPU 快得多,随着 GPU 计算能力的提高,对 IO 带宽的需求也随之增加。NVIDIA GPUDirect®是Magnum IO的一部分,可增强 NVIDIA 数据中心 GPU 的数据移动和访问。使用 GPUDirect,网络适配器和存储驱动器可以直接读取和写入 GPU 内存,从而消除不必要的内存复制、减少 CPU 开销和延迟,从而显着提高性能。这些技术(包括 GPUDirect Storage(GDS)、GPUDirect RDMA(GDR)、GPUDirect 点对点 (P2P) 和 GPUDirect Video)通过一套全面的 API 呈现
晓兵
2025/03/30
1.1K0
RDMA - GDR GPU Direct RDMA快速入门1
Ubuntu22安装N卡驱动以及CUDA
官网网址:https://www.nvidia.com/Download/index.aspx?lang=en-us
Here_SDUT
2024/02/03
3.9K0
Ubuntu22安装N卡驱动以及CUDA
cuDNN installation
NVIDIA cuDNNis a GPU-accelerated library of primitives for deep neural networks.
vanguard
2021/08/30
1.2K0
TensorRT安装及使用教程「建议收藏」
一般的深度学习项目,训练时为了加快速度,会使用多 GPU 分布式训练。但在部署推理时,为了降低成本,往往使用单个 GPU 机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署,部署端也要有与训练时相同的深度学习环境,如 caffe,TensorFlow 等。由于训练的网络模型可能会很大(比如,inception,resnet 等),参数很多,而且部署端的机器性能存在差异,就会导致推理速度慢,延迟高。这对于那些高实时性的应用场合是致命的,比如自动驾驶要求实时目标检测,目标追踪等。所以为了提高部署推理的速度,出现了很多轻量级神经网络,比如 squeezenet,mobilenet,shufflenet 等。基本做法都是基于现有的经典模型提出一种新的模型结构,然后用这些改造过的模型重新训练,再重新部署。
全栈程序员站长
2022/07/31
15.7K0
TensorRT安装及使用教程「建议收藏」
人工智能NVIDIA显卡计算(CUDA+CUDNN)平台搭建
NVIDIA是GPU(图形处理器)的发明者,也是人工智能计算的引领者。我们创建了世界上最大的游戏平台和世界上最快的超级计算机。
小陈运维
2021/10/13
1.4K0
Ubuntu安装和卸载CUDA和CUDNN
最近在学习PaddlePaddle在各个显卡驱动版本的安装和使用,所以同时也学习如何在Ubuntu安装和卸载CUDA和CUDNN,在学习过程中,顺便记录学习过程。在供大家学习的同时,也在加强自己的记忆。本文章以卸载CUDA 8.0 和 CUDNN 7.05 为例,以安装CUDA 10.0 和 CUDNN 7.4.2 为例。
夜雨飘零
2020/05/06
10.4K0
Linux常用技巧系列: Centos7/Ubuntu 16.04 系统Cuda 8.0 / 9.0 安装 + Cudnn
推荐时间1min30s,网上已有多关于cuda安装教程,但往往不是这有问题,就是那有问题。这里写一个简单易懂可行的cuda 安装教程。
超级小可爱
2023/02/20
8280
Caffe框架整理
Caffe框架下载地址:https://github.com/BVLC/caffe
算法之名
2023/11/08
2350
Ubuntu18.04安装 NVIDIA驱动+CUDA10.2+cuDNN+TensorRT
之后,按照提示安装,成功后重启即可。 如果提示安装失败,不要着急重启;可重复上述步骤,多试几次。
全栈程序员站长
2022/08/19
2.1K0
纯净Ubuntu16安装CUDA(9.1)和cuDNN
本篇概览 自己有一台2015年的联想笔记本,显卡是GTX950M,已安装ubuntu 16.04 LTS桌面版,为了使用其GPU完成deeplearning4j的训练工作,自己动手安装了CUDA和cuDNN,在此将整个过程记录下来,以备将来参考,整个安装过程分为以下几步: 准备工作 安装Nvidia驱动 安装CUDA 安装cuDNN 特别问题说明 按照一般步骤,在安装完Nvidia显卡驱动后,会提示对应的CUDA版本,接下来按照提示的版本安装CUDA,例如我这里提示的是11.2,正常情况下,我应该安装11.
程序员欣宸
2021/12/07
7040
纯净Ubuntu16安装CUDA(9.1)和cuDNN
NVIDIA Blackwell RTX GPU与CUDA 12.8框架更新指南
随着NVIDIA Blackwell RTX GPU的发布,为了确保应用程序与这些新一代GPU的兼容性和最佳性能,应用开发者必须更新到最新的AI框架。NVIDIA专门发布了一个指南,详细介绍与NVIDIA Blackwell RTX GPU兼容所需的核心软件库更新,特别是CUDA 12.8的相关信息。
GPUS Lady
2025/02/04
2.2K0
NVIDIA Blackwell RTX GPU与CUDA 12.8框架更新指南
【安装教程】Ubuntu16.04+Caffe+英伟达驱动410+Cuda10.0+Cudnn7.5+Python2.7+Opencv3.4.6安装教程
对于caffe的安装过程,可以说是让我终身难忘。两个星期就为了一个caffe,这其中的心路历程只有自己懂。从实验室的低配置显卡开始装Ubuntu,到编译caffe,解决各种报错,这个过程花费了一周的时间。把cuda版本和N卡驱动版本一降再降,仍然不管用。因此手剁了一台8000的高配置主机。之后为了平衡实验室项目,首先花了半天时间将win10下的相关和其他杂七杂八的软件配置。只有以为只需Ubuntu安装好,caffe编译成功即可,不想安装完Ubuntu之后,却电脑没有引导启动项,把网上的方法试了个遍,却仍无法解决。因此听到一种说法是,win10的启动路径覆盖了Ubuntu启动路径。因此,决定重新再来,将自己的固态和机械全部初始化,首先在固态上安装Ubuntu16.04,在机械上安装Win10,对于双系统的安装请参照我的另一篇博客:Win10与Ubuntu16.04双系统安装教程。在这种情况下参加那个caffe安装成功。请注意,对于双系统建议先安装Ubuntu,并将caffe编译成功之后在去机械上安装Win10。Caffe的安装教程请参照如下安装教程。
AI那点小事
2020/04/20
1.9K0
【安装教程】Ubuntu16.04+Caffe+英伟达驱动410+Cuda10.0+Cudnn7.5+Python2.7+Opencv3.4.6安装教程
TKE集群ubuntu 16.04节点更新GPU驱动和CUDA Toolkit
Release Notes :: CUDA Toolkit Documentation
铜锣烧
2021/07/19
1.6K0
玩转 AIGC:打造 AI 大模型云主机,Ubuntu 24.04 LTS 安装 Docker 和 NVIDIA Container Toolkit
今天分享的内容是 玩转 AIGC「2024」 系列文档中的 打造本地 AI 大模型地基,Ubuntu 24.04 LTS 安装 Docker 和 NVIDIA Container Toolkit。
运维有术
2024/05/07
1.2K0
玩转 AIGC:打造 AI 大模型云主机,Ubuntu 24.04 LTS 安装 Docker 和 NVIDIA Container Toolkit
GTX 1080+Ubuntu16.04+CUDA8.0+cuDNN5.0+TensorFlow
GTX 1080+Ubuntu16.04+CUDA8.0+cuDNN5.0+TensorFlow 安装指导
CreateAMind
2018/07/25
8400
GTX 1080+Ubuntu16.04+CUDA8.0+cuDNN5.0+TensorFlow
windows 11 搭建 TensorFlow GPU 开发环境【RTX 3060】:2 -- 基于WSL2 docker 方式的使用
目前我看官网主要推荐docker 方式了,那我们就用docker 方式试试。而且网上的安装教程也是docker 的居多【官方给出了一个教程】,我们也要与时俱进。
流川疯
2021/12/08
3.4K0
windows 11 搭建 TensorFlow GPU 开发环境【RTX 3060】:2 -- 基于WSL2 docker 方式的使用
推荐阅读
相关推荐
什么是cuDNN?如何安装CUDA和cuDNN
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档