Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >时光相册

时光相册

作者头像
用户1127987
发布于 2018-06-05 06:29:39
发布于 2018-06-05 06:29:39
2.5K0
举报
文章被收录于专栏:deed博客deed博客

所属分类:评测

第一次使用时光相册,其实是在小米应用商店推荐的时候发现的。因为我看到了"时光",所以对这个APP特别感兴趣,于是就下载了。在那时,有许多网盘可以充当相册软件,但是我也没有选择他们,回头想想,我的选择还是对的。

时光相册不仅仅局限于本地的相册,它还可以把我们的相册同步至云端,还可以添加相册。一般来说,时光会自动给我们建立几个相册。

不仅不仅如此,时光相册还可以,自动为我们生成滤镜。这就是当时被朋友圈刷屏的同款滤镜,怎么样,反正我感觉挺不错。就保存了,至于手动制作滤镜的话,现在就在照片助手,艺术滤镜的功能里。

时光相册的功能不仅仅局限于这个几个功能,还有优化空间,即把本地的照片上传到云端。本地使用被压缩过的高清图,如果需要原图,就可以直接下载,既节省了空间,又方便了自己。

还有音乐相册以及照片电影的功能,我想这俩功能我还不用再介绍了吧。

其实还有一个共享群,因为博主没有需要共享的,我就没弄了。

时光相册目前是正在成长的软件,我们要多给时间让其成长,我觉得未来时光相册会做的越来越好。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年1月11日1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【从零开始学深度学习编译器】十二,MLIR Toy Tutorials学习笔记一
MLIR提供了一种Toy语言来说明MLIR的定义和执行的流程。Toy语言是一种基于张量的语言,我们可以使用它来定义函数,执行一些数学计算以及输出结果。下面要介绍的例子中限制Tensor的维度是<=2的,并且Toy语言中唯一的数据类型是64位浮点类型,对应C语言中的"double"。另外Values是不可以重写的,即每个操作都会返回一个新分配的值,并自动管理释放。直接看下面这个例子:
BBuf
2021/11/02
1.1K0
【从零开始学深度学习编译器】十二,MLIR Toy Tutorials学习笔记一
MLIR入门教程6-降低到LLVM并生成代码
https://github.com/hunterzju/llvm-tutorial
hunterzju
2022/04/28
1.6K0
MLIR入门教程5-降级到低级方言
现在,我们渴望生成实际的代码,并看到我们的Toy语言诞生。我们将使用LLVM生成代码,但是在这里仅仅显示LLVM构建器接口不会非常令人兴奋。取而代之的是,我们将展示如何通过在同一函数中共存的混合方言来执行渐进式降级。
hunterzju
2021/12/09
1K0
【从零开始学深度学习编译器】十四,MLIR Toy Tutorials学习笔记之部分Lowering
这篇笔记是阅读Toy Tutorials的第五章之后总结的,这一节主要讲的是将Toy Dialect Lowering的部分Operation Lowering到Affine Dialect,MemRef Dialect和Standard Dialect,而toy.print操作保持不变,所以又被叫作部分Lowering。通过这个Lowering可以将Toy Dialect的Operation更底层的实现逻辑表达出来,以寻求更多的优化机会,得到更好的MLIR表达式。
BBuf
2021/11/12
8900
MLIR-Toy-实践-4-转换到LLVM IR运行
之前的文章基于MLIR中的Toy教程添加了操作OrOp,并从Toy Dialect降级到了Standard Op。本文主要记录了最终降级到LLVM Dialect并调用LLVM JIT执行的过程。
hunterzju
2022/04/28
1.1K0
MLIR-Toy-实践-4-转换到LLVM IR运行
MLIR入门教程7-添加struct类型
https://github.com/hunterzju/llvm-tutorial
hunterzju
2022/04/28
1.1K0
MLIR入门教程2-基本MLIR表示
其他编译器,如llvm(参见Kaleidcope tutorial),])提供了一组固定的预定义类型和(通常是低级/risc-like)指令。在发出LLVM IR之前,由给定语言的前端执行任何特定于语言的类型检查、分析或转换。例如,Clang将不但使用其AST执行静态分析,还执行转换,例如通过AST克隆和重写进行C++模板实例化。最后,具有比C/C++更高级别结构的语言可能需要从其AST降低很多,才能生成LLVM IR。
hunterzju
2021/12/09
3.1K0
MLIR-Toy-实践-3-Dialect转换
上篇文章为Toy添加了一个新Op(toy.or)表示逻辑或。本文介绍如何将OrOp降低到其他方言对应的Op,主要用到了RewritePattern和ConversionPattern相关的内容。
hunterzju
2022/04/28
2.5K0
MLIR-Toy-实践-3-Dialect转换
MLIR_对自定义IR Dialect编写bufferization pass
最近在整理先前实习做的一些工作,主要是对AI compiler做基于mlir的重构,以下是之前写的compiler frontend的一个比较基础的pass,针对自定义的IR Dialect做bufferization。
BBuf
2024/07/01
2440
MLIR_对自定义IR Dialect编写bufferization pass
MLIR入门教程-Toy扩展实践-2-Interface使用
之前采用ODS框架为Toy语言添加了一个逻辑或的操作OrOp,使得|操作符能够被解析为MLIR中的一个Op节点。本文主要结合MLIR中的Toy教程ch4为添加的Op增加采用Interface的通用接口操作,通过该Interface可以实现函数调用的内联(inline)和输入变量的形状推断(shapeInference)。这部分主要用到了MLIR的Interface和Pass。
hunterzju
2021/12/09
8420
MLIR入门教程-Toy扩展实践-2-Interface使用
MLIR入门教程4-dialect和operation接口
通过方言,MLIR允许表示许多不同的抽象级别;我们之前定义的toy方言就是这样一个例子。尽管这些不同的方言可能代表不同的抽象,但我们通常想要执行一组共同的转换和分析。出现的问题是,为每种方言原生实现每个转换都会导致大量代码重复,因为内部算法通常非常相似(如果不是相同的话)。我们希望为转换提供不透明地挂钩到像toy这样的方言的能力,以获得他们需要的信息。
hunterzju
2021/12/09
1.3K0
【从零开始学深度学习编译器】十三,如何在MLIR里面写Pass?
【GiantPandaCV导语】这篇文章是学习了比较久然后按照自己的理解步骤重新总结了下来,主要是MLIR Toy Tutorials第3,4篇文章的内容。这里主要讲解了如何在MLIR中自定义Pass,这里主要以消除连续的Transpose操作和Reshape操作,内联优化Pass,形状推导Pass 4个例子来介绍了在MLIR中定义Pass的各种技巧,实际上也并不难理解。但要入门MLIR掌握这些Pass实现的技巧是有必要的。「我在从零开始学习深度学习编译器的过程中维护了一个project:https://github.com/BBuf/tvm_mlir_learn ,主要是记录学习笔记以及一些实验性代码,目前已经获得了150+ star,对深度学习编译器感兴趣的小伙伴可以看一下,能点个star就更受宠若惊了。」
BBuf
2021/11/03
1.9K0
【从零开始学深度学习编译器】十三,如何在MLIR里面写Pass?
OpenAI/Triton MLIR 第三章: Triton-shared开箱
经过前面几章关于triton在nv gpu上调优的讲解,我们这章开始来看看triton的一个third_party库,该库是为了让triton去支持更多其他的backend。该项目的地址如下所示,并且已经在triton的main分支中,作为third_party进行了官方支持,在clone triton的时候,只需要带上recursive的flag就可以完成对triton-shared的使用。
BBuf
2023/12/20
1.4K1
OpenAI/Triton MLIR 第三章: Triton-shared开箱
MLIR:摩尔定律终结的编译器基础结构 论文解读
【GiantPandaCV导语】本文是对MLIR的论文解读以及实践,这里的实践指的是把MLIR的要点在OneFlow Dialect中进行了对应,并解释了每个要点的实现方法以及这些要点的相关性,算是对MLIR学习过程的一个阶段总结。本文分为2大部分,第一部分为1-6节,主要是阅读MLIR论文,第7节是根据OneFlow Dialect解释论文中提到的MLIR基础架构中的要点如Type,Attribute,Operation,Trait,Interfaces,Region,Block等等。本文只是想起到抛砖引玉的效果让更多小伙伴了解MLIR这个编译架构
BBuf
2022/04/06
2.4K0
MLIR:摩尔定律终结的编译器基础结构 论文解读
深度学习编译器之公共子表达式消除和死代码消除实现
【省流】上次介绍了深度学习编译器之Layerout Transform优化 ,在这篇文章中提到还会介绍常量折叠优化Pass的实现,但在介绍常量折叠Pass之前我想再介绍一个类似的优化方法也就是公共子表达式消除实现(CSE)。仍然是以OneFlow中基于MLIR进行实现的CSE Pass为例子来讲解。在解析代码实现的过程中,我发现基于MLIR来做公共子表达式消除的时候还顺带做了死代码消除的功能。另外,在考虑公共子表达式消除的时候需要保证两个重复的操作处于同一个基本块中以及两个重复操作之间没有其它具有副作用的操作才可以消除。在OneFlow的实现中只是对OneFlow的UserOp的特殊属性即OpName和SymbolID进行了擦除,用一个魔法属性来代替,这是因为这两个属性不应该去影响公共子表达式的消除。这个优化还是比较有用的,在OneFlow的Stable Diffusion优化中发挥了不小的作用。
BBuf
2023/08/22
7190
深度学习编译器之公共子表达式消除和死代码消除实现
【从零开始学深度学习编译器】二十,MLIR的Pattern Rewrite机制
这篇文章对MLIR的Pattern Rewrite机制进行翻译和总结。这几篇文档分别是https://mlir.llvm.org/docs/PatternRewriter/ 和 https://mlir.llvm.org/docs/Rationale/RationaleGenericDAGRewriter/ 和 https://mlir.llvm.org/docs/Canonicalization/。下面的第一节是阅读并翻译了这三篇文档之后的要点总结,方便读者可以快速把握这三篇文档的核心内容。
BBuf
2022/04/06
1.8K0
【从零开始学深度学习编译器】二十,MLIR的Pattern Rewrite机制
【AI系统】LLVM IR 基本概念
在上一篇文章中,我们已经简要介绍了 LLVM 的基本概念和架构,我们现在将更深入地研究 LLVM 的 IR(中间表示)的概念。
用户11307734
2024/11/27
3030
【从零开始学深度学习编译器】十,TVM的整体把握
大概4个月前开始接触TVM,虽然是0经验开始看,但目前对TVM的IR以及Pass,Codegen,Scheduler等也有了一些基础的认识。所以这篇文章的目的是梳理一下TVM的整体架构,复盘一下自己学到了什么,以及为想学习TVM的小伙伴们提供一个整体思路。「从零开始学深度学习编译器」这个专题的文章和实验代码都被我汇总放到了https://github.com/BBuf/tvm_learn这个仓库中,当然是希望「大力点一下Star了」,感激不尽。仓库目录如下:
BBuf
2021/08/19
1.5K0
OpenAI/Triton MLIR 第零章: 源码编译
为什么又要开一个新坑?原因是,最近在做的项目都是和MLIR有关,并且发现自己已经在MLIR的研发道路上越走越远了。刚刚好前段时间大家都在跟风各种GPT,就去看了看openai目前放出来的产品,无意间发现了triton这把瑞士军刀。其实早在一些年前就听过triton,那会的triton代码还没有被MLIR进行重构,代码内部的某些逻辑写的也没有看的很明白,结合"Triton: An Intermediate Language and Compiler for Tiled Neural Network Computations"这篇论文其实也没有看出太多新的东西。这次在重新捡起来看的时候,发现其中很多不错的优化,其实还是抱着学习如何设计MLIR的Dialect来在GPU上生成高性能的代码为初衷,来对triton进行一个深入的分析。
BBuf
2023/08/25
1.8K0
OpenAI/Triton MLIR 第零章: 源码编译
以OneFlow为例探索MLIR的实际开发流程
最近在同事shenghang的帮助下做了一点OneFlow IR相关的开发,对MLIR执行部分有一些新的感受,所以尝试分享一下。我之前花了不少时间去理解OneFlow IR的整个架构(可以看我的Toy Tutorials系列),但对OneFloiw IR的JIT的执行这部分一直存疑。最近将OneFlow基于Job(OneFlow的作业函数,不考虑设备的话可以理解为一个计算图)接入MLIR工程实现部分重新进行了梳理,并在shenghang的指导下理解了整个流程。所以这篇文档我将介绍一下OneFlow和MLIR是如何结合的,如何在OneFlow IR中新增一个图级别的Pass,OneFlow的Operation是如何自动变成MLIR 的Operation的以及为什么OneFlow IR能利用MLIR为计算带来加速等。我对MLIR的了解不算多,2个月前开始接触,有任何错误请大家批评斧正。本文和 https://github.com/Oneflow-Inc/oneflow & https://github.com/BBuf/tvm_mlir_learn 有关,感兴趣可以star关注一下。
BBuf
2021/12/13
1.1K0
推荐阅读
相关推荐
【从零开始学深度学习编译器】十二,MLIR Toy Tutorials学习笔记一
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档