自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 资源 (1)
  • 收藏
  • 关注

原创 LLaMA模型指令微调 字节跳动多模态视频大模型 Valley 论文详解

如下图,作者的数据生成piple包含四个步骤:1)生成任务指令,2)确定指令是否代表分类任务,3)使用输入优先或输出优先方法生成实例,4)过滤低质量的数据。然而,这些模型严重依赖于人类编写的指令数据,而这些数据通常在数量、多样性和创造力方面受到限制,因此阻碍了调整模型的通用性。,生成的输入会偏向于某个标签(label),比如是语法错误检测任务,他会生成 语法性的输入。首先生成丰富的指令,初始化175个任务,每个任务1个指令和1个实例;针对每一任务类型,作者独立的生成实例,即整个指令数据。

2023-07-09 16:49:14 983 2

原创 技术岗/算法岗面试如何准备?5000字长文、6个角度以2023秋招经历分享面试经验

之前和最近都有不少学弟学妹咨询我的工作上岸经验,因此我总结了一下与他们聊的关键内容,同时补充了一下,写下来这篇文章,供给大家学习与交流,有问题也欢迎指正。先做下自我介绍,方面大家进行参考。觉得有参考价值的,可以继续看,没有参考意义的,就划过,因为本文的受众不是大佬,而是和我之前一样在秋招面前努力前行的普通人。但还是需要提醒一下,我的经验,大家不要一味地模仿,需要因地制宜、因人而异地根据自身情况进行选择性吸收。

2023-06-28 20:37:15 337

原创 LLaMA模型微调版本:斯坦福 Alpaca 详解

如下图,作者的数据生成piple包含四个步骤:1)生成任务指令,2)确定指令是否代表分类任务,3)使用输入优先或输出优先方法生成实例,4)过滤低质量的数据。然而,这些模型严重依赖于人类编写的指令数据,而这些数据通常在数量、多样性和创造力方面受到限制,因此阻碍了调整模型的通用性。,生成的输入会偏向于某个标签(label),比如是语法错误检测任务,他会生成 语法性的输入。首先生成丰富的指令,初始化175个任务,每个任务1个指令和1个实例;针对每一任务类型,作者独立的生成实例,即整个指令数据。

2023-06-28 12:38:16 1023

原创 Self-Instruct 论文解读:利用大模型自己给自己生成指令数据,指令数据自动生成

如下图,作者的数据生成piple包含四个步骤:1)生成任务指令,2)确定指令是否代表分类任务,3)使用输入优先或输出优先方法生成实例,4)过滤低质量的数据。然而,这些模型严重依赖于人类编写的指令数据,而这些数据通常在数量、多样性和创造力方面受到限制,因此阻碍了调整模型的通用性。,生成的输入会偏向于某个标签(label),比如是语法错误检测任务,他会生成 语法性的输入。首先生成丰富的指令,初始化175个任务,每个任务1个指令和1个实例;针对每一任务类型,作者独立的生成实例,即整个指令数据。

2023-06-28 10:53:43 1128

原创 LLaMA模型微调版本 Vicuna 和 Stable Vicuna 解读

用ShareGPT网站的用户分享的ChatGPT对话记录,70k条对话数据对 LLaMA进行监督质量微调训练,性能超越了LLaMa和Stanford Alpaca,达到了与ChatGPT相似的水平。从ShareGPT上扒了70k对话语料,将HTML数据转化为markdown并对不合适、低质量的样本进行了过滤,同时对比较长的数据进行了切分,来适应模型的上下文长度;众包平台上是真实的用户来进行打分,另外因为GPT-4是基于强化学习与人类反馈(RLHF)训练出来的模型,具有较好的与人对齐的能力,所以作者用。

2023-06-27 11:26:27 1130 1

原创 多模态大语言模型 LlaVA 论文解读:Visual Instruction Tuning

Alpaca [43]、Vicuna [45]、GPT-4-LLM [34]利用各种机器生成的高质量指令跟随样本来提高 LLM 的对齐能力,与专有 LLM 相比,报告了令人印象深刻的性能。重要的是,这行工作是纯文本的。Alpaca [43]、Vicuna [45]、GPT-4-LLM [34]利用各种机器生成的高质量指令跟随样本来提高 LLM 的对齐能力,与专有 LLM 相比,报告了令人印象深刻的性能。同时在使用ChatGPT和GPT-4时,作者发现GPT-4生成的指令遵循数据质量更高,比如空间推理能力。

2023-06-26 16:28:17 3505

原创 AI绘图新玩法「艺术风二维码」保姆级教程分享,注册账号就能玩,一分钟出图,定制自己的二维码!

简单,在聊天区,看看别人是咋生成的,如果他的能读出来,我就抄他的prompt和参数,比如把下图的prompt复制到自己这里,url改成自己的图片链接,就能变成自己的。基于「图片+二维码」生成,即给一个我自己想做的图,集合二维码,两者合并,这种需要使用 Stable Diffusion等模型进行生成,稍微复杂些,本文不做介绍。-- seed 这个是随机种子,可以不要,也可以指定,相同的seed和其他参数,得到的图是一样的。

2023-06-18 13:47:59 2076 2

原创 识别一切模型RAM(Recognize Anything Model)及其前身 Tag2Text 论文解读

因为RAM在分类、检测、分割等数据集都有覆盖,同时也有seen数据(训练数据中有的)和unseen数据(训练中没有的)的识别能力,所以作者做了一个图,体现不同识别方法的识别范围(Recognition Scope),RAM-unseen是红色,因为RAM有开集识别能力,所以是最大的。另外作者还用CLIP的Image Encoder对SAM的图片feature进行蒸馏(因为CLIP的image和text特征是对齐的),这样SAM模型在没见过的类别也会有更好的特征生成。

2023-06-14 16:51:09 1896

原创 做副业的我很迷茫,但ChatGPT却治好了我——AI从业者被AI模型治愈的故事

这个视频1个多小时,我作为一个AI从业者都原倍速看完了,收获很大,他讲了如何使用ChatGPT来帮助自己解决生活、工作中的事情,我上文的用法他基本都有提及,所以非常推荐大家看,视频的评论区有很多不同版本的总结,大家可以根据需要去看总结内容。比如我不知道哪些AI知识,我就需要去找技术文章,我不知道有哪些技术文章的网站,我可以继续问他,或许他不知道有“知乎、掘金”的存在,但我看到他说找技术文章时,我就可以联想到这件事,我可以进一步利用别的途径获取,重要的是,他提醒了我。我上面使用AI帮我干活的,就属于公开区。

2023-06-11 21:40:27 323

原创 效率神器!神级ChatGPT浏览器插件分享

主要特征: ➡️ 为您的查询获取网络结果 ➡️ 从任何 url 中提取网页文本 ➡️ 添加和使用提示模板 为什么需要 WebChatGPT: 它类似于 OpenAI 向 ChatGPT Plus 用户推出的网页浏览功能,允许您的 ChatGPT 访问互联网并提供准确的结果和源链接。另外,这里的免费指你有对应的账号,免费是你账号本身的,插件利用了你的免费资格进行能力增强。然而,WebChatGPT,有助于克服这一限制。,还能`总结,,用户可以自定义自己的 Prompt,在网页流量的时候完成其他想做的事情。

2023-06-03 12:46:07 2828

原创 【城南】如何识别AI生成图?视觉AIGC伪造检测技术综述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ry2Qw8uO-1685675351028)(https://r3mu87a8e6.feishu.cn/space/api/box/stream/download/asynccode/?如何识别 AI 生成图片?or 如何识别 AIGC 图?or 如何识别 AI 换脸?or AI生成图伪造检测?类似的说法有很多种,总之就是利用AI技术来鉴别一张图是不是AI生成的,这种AI技术就是本文的内容。

2023-06-02 11:11:30 2792

原创 效率神器,边看网页边问ChatGPT!神级ChatGPT插件(浏览器扩展)推荐!

如果在看一个网页时,有些词不认识、句子不知道含义,怎么办?解释当然除了解释,这类插件还能总结,如果看到了一段文字,想抄下来当做自己的怎么办?总结比如只想看文章的主要内容,选定全文一键总结。当然用户可以自定义自己的 Prompt,在网页浏览的时候快速完成其他想做的事情,比如翻译、解释代码、解释名词、总结等等。

2023-05-28 18:59:27 1535

原创 【LlamaIndex 教程】一文看懂LlamaIndex用法,为LLMs学习私有知识

默认情况,llamaIndex 使用,也可以用别的构建 Index基于使用的Index,llamaIndex 会使用默认的 prompt 模板进行构建 Index(插入 or 创建), 也可以自定义link。对于自定义 embedding 的模型,也可以自定义 embeddinglink。

2023-05-27 10:15:32 9449 4

原创 AI 辅助编程工具,会编程和不会编程的人都需要!附Cursor 保姆级使用教程

自 AI 技术被应用到辅助编程工具中后,编程的门槛被大幅降低,会编程和不会编程的人都需要得接触一下来提高自己的日常生产力!程序员群体可以通过 AI 编程助手大幅提高自己的工作效率,编写重复且低效的代码片段。非程序员群体也可以通过 AI 编程助手来实现代码脚本工具编写,快速完成 Excel 数据处理、Txt 文本读取处理等日常工作中可能会需要的功能,与百度、谷歌等搜索引擎配合使用大大提高日常效率。

2023-04-16 16:21:16 4805

原创 C++ 实现 maxpooling 计算

C++ implement Maxpooling输入参数:featmap, kernel_size (h, w), stride输出参数:featmap注意实现计算输出 feat 大小,难点: 如果 featmap 的大小(高/宽)无法整除 stride 时,则需要进行 padding;注意 pading 时的填充计算;h,w 不一定相等,stride h,w 也不一定相等;#include <iostream>#include <bits/stdc++.h>

2022-03-29 22:28:42 2023

原创 解决 windows 下浏览器无法上网,QQ/微信正常上网

## 解决 windows 下浏览器无法上网,QQ/微信正常上网## 解决 windows 下浏览器无法解析DNS配置> 注意:本处只**提供一种解决思路,并不代表所有问题都能被解决,可以尝试一下**这种问题,一般在浏览器中会## 直奔主题——原因1. **查看问题:**经过笔者亲测,可能的原因是 **IP 被路由器屏蔽**了。具体可以在**网络适配器中进行网络诊断**,如下图,**右键诊断**即可: **诊断结果中若显示:**“网络网关可以访问,但win...

2021-11-19 10:00:15 3313

原创 ubuntu cuda/cudnn 最新版安装及检查方法(亲测有效,2021-06-25)

首先nvidia-smi看一下有没有nvidai驱动。没有就装一个。如果正常,则有驱动。这时也会出现cuda版本(右上角),忽略它;nvcc -V 查看是否有cuda(nvidia-smi的cuda和nvcc的cuda不是一个,见参考)安装cuda,在这里找到需要的cuda版本;利用 run.sh 格式进行安装,这种安装可以只安装cuda tool,而不安装nvidia驱动此说明源自这里;按照此教程安装tool由于已存在驱动,则会报错,继续按照,注意别安装驱动(他前面..

2021-06-25 12:03:27 1301

原创 卷积输出大小公式推导(图解,看不懂退钱)

卷积输出大小公式推导见图

2021-06-06 10:51:52 860 1

原创 牛客网-算法工程师面试宝典导读之【线性代数】

1.求m*k矩阵A和n*k矩阵的欧几里得距离?m*k指m个k维度向量,同理n个。即求这m个与n个的两两欧氏距离,最后是一个m*n的矩阵。将m*k和n*k分别写成m*1和n*1,k省略,最后将对应项的1*1标量乘换为k*k向量乘即可m*1和n*1比较好算,普通算术知道(A−B)2=A2+B2−2ABT(A-B)^2=A^2+B^2-2AB^T(A−B)2=A2+B2−2ABTABTAB^TABT维度是m*n,所以想办法把得到A2A^2A2和B2B^2B2就行直接按元素平方(映射到k维后就是叠加和)

2021-06-02 22:16:53 1258

原创 牛客网-面试宝典导读之【概率论相关】

37法则问题陈述:假设有N个人,只能选1次,为了选最优秀的那个,应该如何选?策略:前n-1个人一律不选,从第n个人开始,只要出现比前n-1个都优秀的人,就选他。求出被选的这个人是最优秀的概率,然后根据概率求出最优n。假设第k个人是最优秀的,则如果要想选中第k个人,需要保证k之前的次优秀人出现在前n-1个内,第k个人之前的次优秀的人出现在前n-1个人内的概率是n−1k−1\frac{n-1}{k-1}k−1n−1​,所以当k是最优秀时,要取得最优解的概率是n−1k−1\frac{n-1}{k-1}k

2021-06-02 19:52:33 1198

原创 最大似然估计与最大后验概率估计

概率与统计概率是已知模型、参数推数据,而统计是已知数据推模型和参数。似然和概率是两个意思很相似的词,但含义不同。相当于从不同视角理解同一个东西。对于函数 P(x∣θ)P(x|\theta)P(x∣θ),其中x为数据,θ\thetaθ为参数。若参数θ\thetaθ是确定的,数据x是未知的,则P叫概率函数。描述的是,对于不同的样本x,其出现时的概率是多少;若数据x是已知的,参数θ\thetaθ是未知的,则P就叫似然函数。描述的是,对于不同的参数θ\thetaθ,出现样本点x的概率是多少;贝叶斯公

2021-06-01 17:10:05 489

原创 梯度下降法改进过程:从 SGD 到 Adam算法

1. SGD 梯度下降法1.1 梯度下降(Gradient Descent)梯度g指函数的某处的偏导数,指向函数上升方向。因此梯度下降法是指用梯度的负数-g更新参数,从而使下一次计算的结果向函数下降方向逼近,从而得到最小值。其中更新时乘的系数称为学习率。w∗=w−αΔw=w−α∂∂wLw^*=w-\alpha \Delta w = w-\alpha \frac{\partial}{\partial w}Lw∗=w−αΔw=w−α∂w∂​L1.2 批次梯度下降(Batch Gradient Desce

2021-05-30 22:28:55 876

原创 一文搞定 Python matplotlib 快速绘折线图(多子图、坐标轴刻度范围、字体设置)

1. Python matplotlib 绘制折线图(多子图、坐标轴刻度范围、)没有例图的教程都是耍流氓如果你想画出下图,请继续看先看绘图示意,本图主要完成这样几个点(对比图看)绘制折线图绘制多子图折线图控制坐标轴的刻度、范围、标签控制全图字体格式坐标轴标红、纵竖线引出直接看代码,有注释,根据需要选取import matplotlib.pyplot as plt# 设置字体格式font1 = {'family' : 'Times New Roman','weight'

2021-05-29 11:52:06 7266

原创 C++ Vector 使用快速入门

C++Vector 使用快速入门#include <iostream>#include <vector>using namespace std;void vectorRelated(){ // 初始化方法 - initilization vector<int> vs1; vector<int> vs2(vs1); vector<int> vs3 = vs1; vector<int> vs4(5); .

2021-05-06 21:22:12 267

原创 ubuntu 利用 grep 匹配和 sed 修改实现字符串批量修改

ubuntu 利用 grep 匹配和 sed 修改实现字符串批量修改解决conda复制后用户名不一致问题问题来源:从一台设备上复制conda环境(直接把整个文件夹复制过去)到另外一台设备后,由于前后两台设备的用户名一致,导致很多地方都会出现错误解决方案:把新设备中anaconda3文件中的所有涉及旧用户名 oldname 的地方全修改为新用户名 newname解决方法::利用 grep 搜索关键字 oldname,返回其文件路径并作为参数送给 sed 进行字符串匹配修改这条语句表面在 * 路径

2021-04-30 11:20:04 616

原创 CUDA 编程入门-GPU信息读取

#include "cuda_runtime.h"#include "device_launch_parameters.h"#include <stdio.h>void myDeviceInfo();int main(){ // mykernel <<<1, 10 >>> (); myDeviceInfo(); cudaDeviceSynchronize(); return 0;}void myDevic.

2021-04-28 19:06:32 396

原创 CUDA卷积计算及其优化——以一维卷积为例

CUDA 卷积计算及其优化——以一维卷积为例CUDA C 编程学习,关注专栏 CUDA C建议阅读:在卷积优化前,熟悉核函数的组织形式有利于更好的位置映射-CUDA编程入门(一):以图片运算看线程的组织和核函数的使用对于输入数据为N[Width],卷积核大小为M[Mask_Width]的卷积运算,进行不同程度的优化(这里的卷积指滤波/内积,而不需要旋转),输出为P[Width]。1.常规的一维卷积常规的一维卷积比较简单,线程数为Width,每个线程负责一个输出值得Mask_Width宽度的卷积

2021-04-28 16:34:36 3204 5

原创 第六章 CUDA性能优化

第六章 性能优化《大规模并行处理器编程实战》学习,其他章节关注专栏 CUDA C6.1 WARP 和线程执行由于 SM(Streaming Multiprocessor) 中实际由多个流处理单元(Streaming Processor, SP)进行单指令、多数据(SIMD)模式的执行,因此将线程块划分为 warp,方便调度给不同的 SP 执行。一般 warp 是 32 个线程。在将线程划分时,按照多维数组变一维数组的映射进行32个线程的转化划分。如果是三维,则先对 threadIdx.z=0

2021-04-28 16:26:13 637

原创 第5章 CUDA存储器

第五章 CUDA 存储器《大规模并行处理器编程实战》学习,其他章节关注专栏 CUDA C线程处理数据时需要先将数据从 host copy 到 device 的全局存储器中,然后利用 block ID 和 thread ID 决定其需要处理的数据位置,从而进行并行计算。kernel 在计算时,需要和存储器(全局存储器)进行大量的互动,这种存储器通常使用动态随机访问存储器(Dynamic Random Access Memory, DRAM),在访问时时延有时会特别大,因此 CUDA 提供了大量访问存储

2021-04-28 16:15:25 607 2

原创 大规模并行处理器编程实战 - 第4章 CUDA数据并行执行模型

第四章 数据并行执行模型《大规模并行处理器编程实战》学习,其他章节关注专栏 CUDA C线程组成线程块,线程块组成线程网格,线程网格就是kernel。一个kernel中的所有线程都执行相同的代码,区别在于不同的线程属于不同的块(有不同的blockIdx),拥有其在块中的唯一位置(threadIdx),因此每个线程在kernel中有唯一的坐标,访问的数据可以被独立控制。相同的执行过程+不同的数据来源=并行的数据处理4.1 CUDA 线程组织网格中的线程块,块中的线程,都是三维位置的。在组织时

2021-04-28 16:09:08 635 3

原创 CUDA编程入门(一):以图片运算看线程的组织和核函数的使用

CUDA编程入门(一):以图片运算看线程的组织和核函数的使用1. 线程块的组织以二维图片处理为例,明确一下线程的组织与核函数调用时的使用。现在需要对某一个图片(矩阵)的值进行运算,假设图片大小为ImgSize=ImgHeightImgWidth,则需要ImgSize个线程进行处理。假如使用二维的线程块,则线程块数据结构为dim3 Block(BLOCK_SIZE,BLOCK_SIZE),表示线程块中线程数量为BLOCK_SIZEBLOCK_SIZE, 取BLOCK_SIZE=16。dim3 Bloc

2021-04-28 15:56:21 676

原创 SSH 端口转发查看服务器 tensorboard 内容与Terminus Port forwarding 使用

SSH 端口转发查看服务器 tensorboard 内容与Terminus Port forwarding 使用如果直接用 ssh 查看,则:ssh -p 端口号 -L 16006:127.0.0.1:6006 usr@ipsource activate xxtensorboard --logdir=xx# 然后在本地浏览器里打开 http://127.0.0.1:16006/ 查看# 系统将对 16006端口的请求转发至对 服务器 6006 端口(tensorboard 用的端口)的请

2021-04-10 14:20:22 2077

原创 torch 中 [] 中括号的用法 集合

在代码中经常会看见很多[]的用法,这不是函数,让人总是摸不着头脑,现在 mark 一下,方便自己和他人查阅。a = torch.randn(2,3)b = a[x, y] # x,y = tensor# 表示 以 x 里的元素为横坐标,y 里的元素为纵坐标,取出 a 中的值到 b...

2021-03-24 16:19:34 1275

原创 torch.repeat 张量维度复制

torch.repeat 用于张量的制定维度复制import torcha = torch.rand(2,3) # 如果 a 是 feature vector, 则 batch=2(dim=0), channels=3(dim=1)b = a.repeat(2,1) # 在 batch(dim=0) 维度上复制 2 次,在 channel(dim=1) 维度上复制 1 次# 即 repeat 的参数为其维度的复制次数,第 1 个参数表示对第 0 dim 的重复次数,依次类推#####

2021-03-23 09:37:46 17781

原创 python 字典存储为mat并用matlab读取绘图

python 字典存储并用matlab读取绘图在 python 中对字典文件存储 mat 格式import scipy.io as sciod = {'a':[1, 2, 3], 'b':2}path = 'xxx.mat'scio.savemat(path, d)在 matlab 脚本中对数据进行读取并绘图path = 'xxx.mat'load(path) % 此时a, b 已经被读取到变量空间中bar(a) % 绘图saveas(1, 'xxx', 'jp.

2021-03-14 13:40:01 1630

原创 Pycharm find in path 全局搜索失效

find in path 搜索失效有两种可能1. 缓存满了,清一下并重启2. 与其他软件快捷键冲突了,比如搜狗输入法、QQ等,改一下其他软件快捷键就行(我就是这种,贼坑)

2021-03-13 16:40:50 926

原创 CUDA C编程向量加法-第3章 CUDA 简介

第3章 CUDA 简介这章主要以 向量加法 vector add 为切入点,讲述了如何把一个 c 语言向量加法代码 改写为 cuda扩展的c语言向量加法。1.1 传统向量加法传统向量加法是通过循环实现的1.2 CUDA 加法加速cuda向量加法是通过多线程控制的cuda加法并行实现的,即同时打开n个线程,每个线程计算1个加法,则长度为n的向量被同步计算。使用CUDA扩展的程序,需要三个步骤:先申请设备(device, cuda)的内存(memory),将数据从主机(host)复制到设备(de

2021-03-08 13:39:41 746

原创 pytorch 取对角线元素/矩阵对角线元素置0

pytorch 取对角线元素/矩阵对角线元素置0使用 torch.diag 取对角线元素,使用 torch.diag_embed() 恢复维度import torcha = torch.randn(3, 3)print(a)tensor([[ 0.7594, 0.8073, -0.1344], [-1.7335, -0.4356, -0.0055], [ 1.8326, 0.3900, -0.9933]])diag = torch.diag(a) #

2021-03-07 16:45:48 19157

原创 JetBrains软件教育免费使用及JetBrains Account connection error: Connection refused (Connection refus

JetBrains软件教育免费使用及JetBrains Account connection error: Connection refused (Connection refused)问题解决1. 教育邮箱权限获取在官网的购买中找到学生群体申请,利用高校的[email protected]邮箱进行注册并验证,根据指示进行操作,最后会激活成功。如图:2. 软件激活在IntelliJ IDEA Ultimate中进行激活,需要用上面的邮箱(你激活的哪个就用哪个,教育邮箱只是用来获得权限的),可能

2021-03-04 14:51:48 566 1

原创 tf.matrix_band_part 与 torch.tril 使用

tf.matrix_band_part 与 torch.tril 使用这两个函数都是用来取矩阵的某一块值的,简单使用如下tf.matrix_band_parttf.matrix_band_part(m, -1, 0) 表示取矩阵的下左三角,不包括斜对角。同理,tf.matrix_band_part(m, 0, -1)表示取矩阵的右上三角,不包括斜对角。其他操作详细见tf.matrix_band_part,搭配transpose可灵活取值;torch.triltorch.tril.

2021-03-03 16:21:54 1034 3

3Dreconstruction.rar

三维重建源码,完成了三维世界坐标与二维图片的像素坐标的一一映射。在具体实现时的重建过程实际上是将三维空间的每一个点[x; y; z]通过各个图片对应的变换矩阵M34(即M 3 x 4,上述原理中的M)映射到各个图片中去,然后根据此点是否在重建目标上确定是否保留此点,从而得到目标物体的三维点云,同时可根据此点在各个图片中的颜色确定此点在三维空间中的颜色。

2019-10-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除