Snap Video:用于文本到视频合成的扩展时空变换器
图像生成模型的质量和多功能性的显著提升,研究界开始将其应用于视频生成领域。但是视频内容高度冗余,直接将图像模型技术应用于视频生成可能会降低运动的保真度和视觉质量,并影响可扩展性。来自 Snap 的研究团队及其合作者提出了 "Snap Video",这是一个以视频为中心的模型,系统地解决了这些挑战。它扩展了EDM(Energetic Diffusion Model)框架,以考虑空间和时间冗余像素,并自然支持视频生成。另外,由于U-Net在生成视频时扩展性差,需要显著的计算开销。因此本文还提出了一种新的基于变换器的架构,其训练速度比U-Nets快3.31倍(在推理时大约快4.5倍)。这使本模型能够首次高效地训练具有数十亿参数的文本到视频模型,达到一系列基准测试的最新结果,并生成质量更高、时间一致性和运动复杂性显著的视频。用户研究表明,本模型在文本对齐和运动质量方面比其他最新方法更受好评。
![](https://i-blog.csdnimg.cn/direct/2b61f5bd7b5744eab647391726e0edb0.png)
这些样本展示了生成器能够合成具有大运动的暂时连贯视频(左侧),同时保留大规模文本到视频生成器的语义控制能力(右侧)
方法
EDM 通过模拟一个数据生成的随机过程,其中数据样本逐渐被噪声所覆盖,这个过程称为前向扩散过程。在这个过程中,噪声水平由一个扩散时间步长 σ 来控制,它与噪声的标准差相对应。随着噪声的逐步增加,数据样本从原始状态逐渐转变为高噪声状态。
与此相对的是一个学习到的去噪器,它执行一个逆向过程,即从噪声数据中逐步去除噪声,恢复出清晰的数据样本。这个过程称为反向扩散过程,去噪器 Dθ 通过最小化去噪后样本与原始数据之间的差异来进行训练。去噪目标函数 L(Dθ) 定义了去噪器的性能,它通常以去噪后样本与原始样本之间的均方误差为基础。
对于高分辨率视频生成,EDM 框架面临的挑战是:视频数据帧之间的高度冗余,如果直接应用图像生成模型的方法在视频生成时可能导致运动的保真度降低和视觉质量下降。为了解决这个问题,研究者对 EDM 框架进行了扩展和修改,使其能够更好地处理视频数据的特性。
![](https://i-blog.csdnimg.cn/direct/8b3b8e3debc7406498f0ec1a0353a6e5.png)
表格展示了原始EDM框架和本文提出的修改版本之间的对比
研究者引入了一个输入缩放因子 σin,用于调整前向过程中噪声的强度,以保持在原始分辨率下的信噪比。这样做可以防止在高分辨率视频生成过程中出现的不稳定性,如在初始采样步骤中由于平均帧尚未包含清晰的信号而导致的训练-推理不匹配问题。通过重新定义前向过程和调整采样器,作者确保了即使在高分辨率视频生成的情况下,EDM 框架也能够维持其设计的信噪比,从而提高了生成视频的质量和运动的连贯性。
![](https://i-blog.csdnimg.cn/direct/e1e7655c2aa44c12af802f17b78ba17d.png)
在处理图像和视频数据时的挑战是如何有效地结合这两种模态,尤其是当可用的带字幕视频数据相对较少时。研究者们通常采用联合图像-视频训练方法,以便利用更丰富的图像数据来提升视频生成的性能。然而,视频数据具有时间维度上的特性,即连续帧之间的内容可能高度相关,这与单独的图像数据存在本质的不同。
为了解决这个问题,研究者提出了一种图像-视频模态匹配方法,该方法通过将图像视为具有无限帧率的 T 帧视频来实现。这种方法允许使用统一的扩散过程同时处理图像和视频数据,而无需为每种模态单独设计和优化模型。通过这种可变帧率训练过程,模型能够学习到图像和视频数据之间的共同特征,同时保留对视频特有动态特性的捕捉能力,从而有效地弥合了图像和视频模态之间的差距。
在视频生成器的设计方面,U-Net 架构虽然在图像生成方面表现出色,但在扩展到视频生成时,其计算效率和模型可扩展性面临挑战。特别是当处理高分辨率视频时,U-Net 需要对每一帧都执行完整的网络前向传播,这导致了显著的计算开销,并限制了模型处理更大数据的能力。
为了克服这些限制,研究者提出了一种基于 FIT(Far-reaching Interleaved Transformers)的高效变换器架构。FIT 架构的核心思想是学习输入数据的压缩表示,将空间和时间维度的信息编码到一个单一的、压缩的 1D 潜在向量中。这样,即使输入数据的维度增加,模型也能够高效地处理,因为大部分计算都集中在这个压缩的潜在空间上。
![](https://i-blog.csdnimg.cn/direct/41e7bcefc9944bf3b5aa9d643def8d1b.png)
3.a 展示了基于U-Net的文本到图像架构如何通过插入时间层来适应视频生成,创建可分离的时空块。指出了这种方法在可扩展性方面的限制
3.b 描述了所提出的Snap Video FIT架构。展示了给定带噪声的输入视频,模型如何通过递归应用FIT块来估计去噪视频
通过这种设计,FIT 架构不仅能够处理高分辨率视频,还能够实现对复杂动态场景的建模,同时显著提高了训练和推理的速度。这种架构的可扩展性使得它可以轻松扩展到数十亿参数的规模,而推理速度的提高则使得它能够快速生成高质量的视频内容。
在训练 Snap Video 模型时,研究者选择了 LAMB 优化器,这是一种在深度学习中广泛使用的优化算法,特别适合于大型模型的训练。LAMB 的全称是 "Layer-wise Adaptive Moments optimizer for Batch training",它结合了 Adam 优化器的自适应学习率特性和 Momentum 优化器的动量累积特性,有助于加速模型的收敛并提高训练的稳定性。
训练过程中,研究者实施了一个余弦退火学习率调度策略,这种策略可以随着训练的进行逐渐降低学习率,从而在训练初期快速收敛,在训练后期微调模型参数。研究者采用了较大的批量大小,总共 2048 个视频和 2048 个图像,这样的批量大小得益于他们设计的可扩展视频生成架构,允许模型有效处理大规模数据。
模型的训练分为两个阶段。在第一阶段,研究者训练了一个基础模型,进行了 550k 步的迭代。随后,为了生成更高分辨率的视频,研究者在第一阶段的基础上,对第二阶段模型进行了微调,使用了 370k 次迭代,从第一阶段的模型权重开始,进一步优化模型以适应更高分辨率的视频数据。
在推理或生成视频的阶段,研究者采用了确定性采样器,这种采样器可以从头开始,使用高斯噪声作为初始化状态,逐步生成视频数据。他们使用了两阶段的级联模型来生成最终的视频样本。第一阶段模型使用 256 个采样步骤来生成一个初步的视频,然后第二阶段模型在这个基础上进一步细化,使用 40 个采样步骤来提高视频的分辨率和质量。
为了改善生成视频与文本描述之间的对齐度,研究者还采用了分类器自由引导技术。这种技术可以在不依赖于显式分类器的情况下,引导模型生成与文本描述更加吻合的视频内容。除非有其他特殊说明,否则在推理过程中默认使用这种引导技术。
评估
研究者使用了内部数据集,该数据集包含 126.5 万张图像和 23.8 万小时的视频,每个都有相应的文本标题。由于为视频获取高质量字幕的难度较大,研究者开发了一个视频字幕模型,用于为数据集中缺少标注的视频生成合成字幕。他们还使用了以下未在训练中观察过的数据集进行评估:UCF-101 和 MSR-VTT。UCF-101 是一个包含 13,320 个 YouTube 视频的数据集,涵盖 101 个动作类别。MSR-VTT 包含 10,000 个视频,每个视频都有 20 个文本标题的手动注释。
为了验证在扩散框架和模型架构上所做的选择,研究者在 64 × 36 像素分辨率下使用第一阶段模型进行了消融实验,并计算了 FID、FVD 和 CLIPSIM 指标,以评估内部数据集测试集上的 50k 个生成视频。在与基线的零样本评估中,他们遵循了 UCF-101 和 MSR-VTT 数据集上的协议,生成了 16 帧、512 × 288 像素分辨率、24fps 的视频,并在这些数据集上评估了视频质量和文本-视频对齐。
为了评估所提出的架构,研究者考虑了不同容量的 U-Net 变体,并将其适应到视频生成设置中,通过插入时间注意力操作。他们展示了不同配置的消融研究,包括原始的 EDM 框架和提出的扩散框架的不同配置,以及将图像视为无限帧率视频的处理方式。
![](https://i-blog.csdnimg.cn/direct/946e2e6b30c849c3b65f3b199cb646f2.png)
研究者在 UCF101 和 MSR-VTT 数据集上对 Snap Video 进行了与基线的比较。他们发现,与基线相比,FID 和 FVD 视频质量指标有所提高,这归因于采用的扩散框架和联合时空建模。在 UCF101 上,他们的方法产生了第二好的 IS 分数,表明了良好的文本-视频对齐。尽管在 MSR-VTT 上,他们的方法在 CLIPSIM 分数上超过了 Make-A-Video,但注意到它产生了较低的分数,这可能归因于使用了 T5 文本嵌入而不是常用的 CLIP 嵌入。
![](https://i-blog.csdnimg.cn/direct/24bca8b8e51443b4afc39a6efa5cdedc.png)
![](https://i-blog.csdnimg.cn/direct/428f856269964af9b7e86414f1838066.png)
在定性评估部分,研究者展示了 Snap Video 与现有最先进视频生成器的比较结果。他们展示了在公共样本上的比较,包括 Make-A-Video、PYoCo、Video LDM 和 Imagen Video。Snap Video 生成的视频在保持时间连贯性的同时,避免了基线方法中由于时间不一致性导致的闪烁伪影。
![](https://i-blog.csdnimg.cn/direct/2e921c8ae0044e9e94371042dd58f5c5.png)
通过这一系列的评估,研究者证明了 Snap Video 在文本到视频合成方面的先进性能,特别是在生成具有丰富动作的视频方面。随着文本到视频合成技术的飞速发展,Snap Video 模型的提出标志着该领域的一个重要进展。
论文链接:https://arxiv.org/abs/2402.14797
相关文章:
![](https://i-blog.csdnimg.cn/direct/2e921c8ae0044e9e94371042dd58f5c5.png)
Snap Video:用于文本到视频合成的扩展时空变换器
图像生成模型的质量和多功能性的显著提升,研究界开始将其应用于视频生成领域。但是视频内容高度冗余,直接将图像模型技术应用于视频生成可能会降低运动的保真度和视觉质量,并影响可扩展性。来自 Snap 的研究团队及其合作者提出了 "Snap …...
![](https://i-blog.csdnimg.cn/direct/745065f87d8f4f1f889ea2f1395b8848.png)
实验8 视图创建与管理实验
一、实验目的 理解视图的概念。掌握创建、更改、删除视图的方法。掌握使用视图来访问数据的方法。 二、实验内容 在job数据库中,有聘任人员信息表:Work_lnfo表,其表结构如下表所示: 其中表中练习数据如下: 1.‘张明…...
![](https://www.ngui.cc/images/no-images.jpg)
C++ 开源库
1 PDFium PDFium 是一个开源的 PDF 渲染和处理库,最初由 Foxit Software 开发,并于2014年捐赠给了 Chromium 项目。PDFium 旨在为各种应用程序提供高效、灵活的 PDF 渲染和操作功能。 2 代码地址 https://github.com/chromium/pdfium 主要特性 渲染…...
![](https://img-blog.csdnimg.cn/img_convert/c2873311cdfc021e20b97228dfa8d519.png)
LabVIEW滤波器性能研究
为了研究滤波器的滤波性能,采用LabVIEW设计了一套滤波器性能研究系统。该系统通过LabVIEW中的波形生成函数,输出幅值及频率可调的正弦波和白噪声两种信号,并将白噪声与正弦波叠加,再通过滤波器输出纯净的正弦波信号。系统通过FFT&…...
![](https://i-blog.csdnimg.cn/direct/64abcbdee4c14a96a052617e9473b2f6.gif)
『C++成长记』vector模拟实现
🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、存储结构 二、默认成员函数 📒2.1构造函数 📒2.2拷贝…...
![](https://img-blog.csdnimg.cn/img_convert/f859574b1e328fd1f64647251c04c2ab.png)
【Mac】Charles for Mac(HTTP协议抓包工具)及同类型软件介绍
软件介绍 Charles for Mac 是一款功能强大的网络调试工具,主要用于HTTP代理/HTTP监视器。以下是它的一些主要特点和功能: 1.HTTP代理:Charles 可以作为HTTP代理服务器,允许你查看客户端和服务器之间的所有HTTP和SSL/TLS通信。 …...
![](https://i-blog.csdnimg.cn/direct/b3e1af9122254787a6c47793fe398ec1.png)
LVS集群及其它的NAT模式
1.lvs集群作用:是linux的内核层面实现负载均衡的软件;将多个后端服务器组成一个高可用、高性能的服务器的集群,通过负载均衡的算法将客户端的请求分发到后端的服务器上,通过这种方式实现高可用和负载均衡。 2.集群和分布式&#…...
![](https://i-blog.csdnimg.cn/direct/5f7e6f497ed849f593f31b23e099ef19.png)
【RNN练习】天气预测
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、环境及数据准备 1. 我的环境 语言环境:Python3.11.9编译器:Jupyter notebook深度学习框架:TensorFlow 2.15.0 2. 导…...
![](https://www.ngui.cc/images/no-images.jpg)
prompt第四讲-fewshot
文章目录 前提回顾FewShotPromptTemplateforamt格式化 前提回顾 前面已经实现了一个翻译助手了[prompt第三讲-PromptTemplate],prompt模板设计中,有说明、案例、和实际的问题 # -*- coding: utf-8 -*- """ Time : 2024/7/8 …...
![](https://img-blog.csdnimg.cn/img_convert/7faffd132ec8fa9744e256c58ae26437.png)
StarRocks分布式元数据源码解析
1. 支持元数据表 https://github.com/StarRocks/starrocks/pull/44276/files 核心类:LogicalIcebergMetadataTable,Iceberg元数据表,将元数据的各个字段做成表的列,后期可以通过sql操作从元数据获取字段,这个表的组成…...
![](https://i-blog.csdnimg.cn/direct/0786921b3238487387d4e39185af182a.png)
阅读笔记——《Fuzz4All: Universal Fuzzing with Large Language Models》
【参考文献】Xia C S, Paltenghi M, Le Tian J, et al. Fuzz4all: Universal fuzzing with large language models[C]//Proceedings of the IEEE/ACM 46th International Conference on Software Engineering. 2024: 1-13.【注】本文仅为作者个人学习笔记,如有冒犯&…...
![](https://www.ngui.cc/images/no-images.jpg)
【C++】使用gtest做单元测试框架写单元测试
本文主要介绍在将gtest框架引入到项目里过程中遇到的问题。 我的需求如下: 用CMake构建项目。我要写一些测试程序验证某些功能,但是不想每一个测试都新建一个main函数。 因为新建一个main函数就要在CMakeList.txt里增加一个project,非常不方便。 于是我搜了下,C++里有没…...
![](https://i-blog.csdnimg.cn/direct/fd7f687793e44991b3c61b15cebd5518.png)
Java类与对象
类是对现实世界中实体的抽象,是对一类事物的描述。 类的属性位置在类的内部、方法的外部。 类的属性描述一个类的一些可描述的特性,比如人的姓名、年龄、性别等。 [public] [abstract|final] class 类名 [extends父类] [implements接口列表] { 属性声…...
![](https://www.ngui.cc/images/no-images.jpg)
xlwings 链接到 指定sheet 从别的 excel 复制 sheet 到指定 sheet
重点 可以参考 宏录制 cell sheet.range(G4)cell.api.Hyperlinks.Add(Anchorcell.api, Address"", SubAddress"001-000-02301!A1")def deal_excel(self):with xw.App(visibleTrue) as app:wb app.books.open(self.summary_path, update_linksFalse)sheet…...
![](https://i-blog.csdnimg.cn/direct/5dc64e786ae343a596b61d546b8989cf.png)
风光摄影:相机设置和镜头选择
写在前面 博文内容为《斯科特凯尔比的风光摄影手册》读书笔记整理涉及在风景拍摄中一些相机设置,镜头选择的建议对小白来讲很实用,避免拍摄一些过曝或者过暗的风景照片理解不足小伙伴帮忙指正 😃,生活加油 99%的焦虑都来自于虚度时间和没有好…...
![](https://i-blog.csdnimg.cn/direct/08eb1c4883bb4bc99062b424f601c6f5.png)
python制作甘特图的基本知识(附Demo)
目录 前言1. matplotlib2. plotly 前言 甘特图是一种常见的项目管理工具,用于表示项目任务的时间进度 直观地看到项目的各个任务在时间上的分布和进度 常用的绘制甘特图的工具是 matplotlib 和 plotly 主要以Demo的形式展示 1. matplotlib 功能强大的绘图库&a…...
![](https://www.ngui.cc/images/no-images.jpg)
javascript设计模式总结
参考 通过设计模式可以增加代码的可重用性、可扩展性、可维护性 设计模式五大设计原则 单一职责:一个程序只需要做好一件事,如果结构过于复杂就拆分开,保证每个部分独立 开放封闭原则:对扩展开放,对修改封闭。增加需…...
![](https://i-blog.csdnimg.cn/direct/efa7a173ab774b9482e106cc99c71f31.png)
gpt-4o看图说话-根据图片回答问题
问题:中国的人口老龄化究竟有多严重? 代码下实现如下:(直接调用openai的chat接口) import os import base64 import requests def encode_image(image_path): """ 对图片文件进行 Base64 编码 输入…...
![](https://www.ngui.cc/images/no-images.jpg)
【MySQL】7.MySQL 的内置函数
MySQL的内置函数 一.日期函数二.字符串函数三.数学函数四.其它函数 一.日期函数 函数名称说明current_date()当前日期current_time()当前时间current_timestamp当前时间戳(日期时间)date(datetime)截取 datetime 的日期部分date_add(date, interval d_value_type)给 date 添加…...
![](https://www.ngui.cc/images/no-images.jpg)
爬虫:Sentry-Span参数逆向
在抓某眼查数据太过频繁时会出现极验的验证码。极验的教程有很多,主要是发现在这里获取验证码的时候需要携带参数Sentry-Span。在这里记录一下逆向的主要过程,直接上补环境的代码。 window global; location {}; my_log console.log;(function () {l…...
![](https://www.ngui.cc/images/no-images.jpg)
音视频入门基础:H.264专题(12)——FFmpeg源码中通过SPS属性计算视频分辨率的实现
一、引言 在上一节《音视频入门基础:H.264专题(11)——计算视频分辨率的公式》中,讲述了通过SPS中的属性计算H.264编码的视频的分辨率的公式。本文讲解FFmpeg源码中计算视频分辨率的实现。 二、FFmpeg源码中计算视频分辨率的实现…...
![](https://i-blog.csdnimg.cn/direct/22596d8b1b064898925d6830c4d82fbf.jpeg)
基于颜色模型和边缘检测的火焰识别FPGA实现,包含testbench和matlab验证程序
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 将FPGA仿真结果导入到matlab显示结果: 测试样本1 测试样本2 测试样本3 2.算法运行软件版本 vivado2019.2 …...
![](https://i-blog.csdnimg.cn/direct/6dcfaaf967f447908f935c2681f651b6.png)
golang json反序列化科学计数法的坑
问题背景 func CheckSign(c *gin.Context, signKey string, singExpire int) (string, error) {r : c.Requestvar formParams map[string]interface{}if c.Request.Body ! nil {bodyBytes, _ : io.ReadAll(c.Request.Body)defer c.Request.Body.Close()if len(bodyBytes) >…...
![](https://i-blog.csdnimg.cn/direct/21c7cf9904904c4a9c1b4452585435bc.png)
罗技K380无线键盘及鼠标:智慧互联,一触即通
目录 1. 背景2. K380无线键盘连接电脑2.1 键盘准备工作2.2 电脑配置键盘的连接 3. 无线鼠标的连接3.1 鼠标准备工作3.2 电脑配置鼠标的连接 1. 背景 有一阵子经常使用 ipad,但是对于我这个习惯于键盘打字的人来说,慢慢在 ipad 上打字,实在是…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
卸载wps office的几种方法收录
第一种方法: 1.打开【任务管理器】,找到相关程序,点击【结束任务】。任务管理器可以通过左下角搜索找到。 2.点击【开始】-【设置】-【应用】-下拉找到WPS应用,右键卸载,不保留软件配置 …...
![](https://i-blog.csdnimg.cn/direct/0c5f2932d4c347e2b072ae17fb1d152e.png)
SpringCloud第一篇Docker基础
文章目录 一、常见命令二、数据卷三、数据挂载四、自定义镜像五、网络 一、常见命令 Docker最常见的命令就是操作镜像、容器的命令,详见官方文档: https://docs.docker.com/ 需求: 在DockerHub中搜索Nginx镜像,查看镜像的名称 …...
![](https://i-blog.csdnimg.cn/direct/a52a9e00e1354ce4b0994a2ca32021a3.png)
从零开始学习PX4源码3(如何上传官网源码到自己的仓库中)
目录 文章目录 目录摘要1.将PX4源码上传至腾讯工蜂2.从腾讯工蜂克隆源码到本地ubuntu3.如何查看自己源码的版本信息 摘要 本节主要记录从零开始学习PX4源码3(如何上传官网源码到自己的仓库中)及如何查看PX4的固件版本信息,欢迎批评指正! PX4源码版本V1.…...
![](https://www.ngui.cc/images/no-images.jpg)
Docker Compose 启动容器例子
Docker Compose 启动容器例子 Docker Compose 文件 (docker-compose.yml) version: 3.8services:web:image: nginx:latestports:- "8080:80"volumes:- ./html:/usr/share/nginx/htmlnetworks:- webnetdb:image: mysql:latestenvironment:MYSQL_ROOT_PASSWORD: exam…...
![](https://www.ngui.cc/images/no-images.jpg)
守护服务之门:Eureka中分布式认证与授权的实现策略
守护服务之门:Eureka中分布式认证与授权的实现策略 引言 在微服务架构中,服务间的通信安全至关重要。Eureka作为Netflix开源的服务发现框架,虽然本身提供了服务注册与发现的功能,但并不直接提供认证与授权机制。为了实现服务的分…...
![](https://i-blog.csdnimg.cn/direct/e2a119f9c8844cbfa936100ea027fa48.png#pic_center)
核密度估计KDE和概率密度函数PDF(深入浅出)
目录 1. 和密度估计(KDE)核密度估计的基本原理核密度估计的公式核密度估计的应用Python中的KDE实现示例代码 结果解释解释结果 总结 2. 概率密度函数(PDF)概率密度函数(PDF)是怎么工作的:用图画…...
![](https://static.oschina.net/uploads/img/201510/12173531_Mahj.png)
大连做网站的企业/网站建设全包
2019独角兽企业重金招聘Python工程师标准>>> ##0 系列目录## 2种日志接口框架,4种日志实现框架jdk-logging、log4j、logback日志介绍及原理jcl与jul、log4j1、log4j2、logback的集成原理slf4j与jul、log4j1、log4j2、logback的集成原理slf4j、jcl、jul、…...
![](https://img-blog.csdnimg.cn/20200523122901455.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMTQxNzI2,size_16,color_FFFFFF,t_70)
想做广告行业怎么入手/谷歌关键词优化怎么做
数组与链表 数组静态分配内存,链表动态分配内存;数组在内存中连续,链表不连续;数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);数组插入或删除元素的时间复杂度O(n)࿰…...
wordpress 添加自定义字段/搜索引擎有哪几个网站
--------------------------------------------------分割线----------------------------------------------------------- 约束 约束在SQL中扮演着很重要的角色。约束用于限制加入表的数据的类型。 可以在创建表时规定约束(通过 CREATE TABLE 语句)…...
![](/images/no-images.jpg)
上海的网站建设公司/广州seo优化外包服务
[1,2,3].map(String) > [‘1’,‘2’,‘3’] [‘1’,‘2’,‘3’].map(Number) // [1,2,3] 0.toString() 数字传字符串 ‘0’ Number(n5)字符串转数字...
![](/images/no-images.jpg)
wordpress图片自动打水印/广告联盟赚钱app
1、用mac系统自带的数码测色计,选RGB模式,将值添加到ColorWithRed:xxx.0/255 最后的alpha选1.0 2、TableView的背景色要用setBackgroundView的方式添加一个空的UIView就可以了,记得UIView autoRelease 3、给TableView赋值的时候,根…...
![](/images/no-images.jpg)
网站上写个招贤纳士怎么做/seo技术公司
在3.2以前,我们要拿到UITouch跟使用者互动,大部分都是透过UIResponder的四种methods - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesEnded:(NSSet *)touches withE…...