g****t 发帖数: 31659 | 1 Tensors are multi-dimensional arrays with a uniform type (called a dtype).
Ragged tensors are the TensorFlow equivalent of nested variable-length lists.
----from TensorFlow document
設想空間有一個坐標原點。賦予溫度給這個點。也賦予一個力給這個點。旋轉這個座標
。你會發現,在新的坐標之下,同一個點,其溫度是不變的。力的坐標表示改變了。這
個現象,乃是張量的起源。協變反變之類的notions,是描述和研究這兩種不同現象時
候自然會遇到的工具。
這個基本問題,或者張量分析,乃是微分幾何的起源之一。也是Einstein選擇用張量語
言開發相對論理論的原因。對Tensor,以及向量的基本概念的理解和分析,是無數數學
或者物理細節知識的起因。
假如一個人用熟了tensorflow這個軟件,某一天對TensorFlow文檔裡的胡扯八道沒有不
爽了。那我認為這個人與生俱來的幾何能力,向前發展的可能,基本上也就被沒有了。
一個人一旦開始使用一個錯誤的模板,並且獲得了利益。那往往也就無法阻擋別人拿統
一個模板針對你求利。今天你盜用發明張量的美名到自己頭上。那必有一天別人會
assign給你一個不屬於你的惡名。
從算卦的角度來講。tensorflow這個項目的開啟者,我認為在未來很難落地善終。
歪嘴聯盟裡面的人。難道感覺不到自己的未來處境會很險惡麼。
指鹿為馬的人,結局如何。 |
s*********0 发帖数: 1 | 2 轮子,别谈这些没用的,谈谈你家李大屎有啥新计划吧。 |
l******x 发帖数: 1 | 3 最近在update我的那个二阶优化算法到tf 2.x,
https://github.com/lixilinx/psgd_tf
TF 2.x比以前的好用多了,还是一样,比torch快很多!
对这些滥用名词几乎麻木了。TF之前,什么遥感的甚至最基本的RGB图像都叫tensor。
一个矩阵(二阶tensor)就能描述这么多问题:优化用的Hessian;各种数学物理里的
eigen问题;体积;外微分等等。高阶tensor就比矩阵复杂多多了。叫ArrayFlow?
ragged array也是C里面常用的。
Deep learning里滥用名词的例子太多太多了。为什么把一个简单的连续变量的概率密
度函数转换公式叫flow?就算叫flow,也得是一个旋度为零只有散度的连续不可压缩的
flow。
为什么把优化问题里的Hessian matrix叫Curvature matrix?优化问题只关心Hessian
matrix的eigenspread或条件数。Curvature是一个object在嵌入的高维欧式空间里的曲
率。风马牛不相及的东西。一个surface可以很弯曲,但若每个方向的曲率是一样的,
在上面做优化也是trivial的。
这样滥用的名词会让不同背景的人感到非常非常错愕,滥用的例子太多太多了,已经习
惯了。 |
l******x 发帖数: 1 | 4 这个版最近的政治气氛太浓了。以前还是很多不错的讨论。 |
g****t 发帖数: 31659 | 5 My two cents:
乱用各种名词的,多半都是觉得vector,
tensor,什么的特别高大上。
其实事情是反过来的。array , list是是最复杂的。
vector 等等是数组加上特殊的几何限制使得其容易处理的产物。(vector 在一定的坐
标变换下是不变的,例如旋转)。
没有专门的关于list, array的学问,就是因为他们复杂。
叫nd array,
Jagged/ragged array比什么raggered tensor好多了。
: 最近在update我的那个二阶优化算法到tf 2.x,
: https://github.com/lixilinx/psgd_tf
: TF 2.x比以前的好用多了,还是一样,比torch快很多!
: 对这些滥用名词几乎麻木了。TF之前,什么遥感的甚至最基本的RGB图像
都叫
tensor。
: 一个矩阵(二阶tensor)就能描述这么多问题:优化用的Hessian;各种
数学物
理里的
: eigen问题;体积;外微分等等。高阶tensor就比矩阵复杂多多了。叫
ArrayFlow?
: ragged array也是C里面常用的。
: Deep learning里滥用名词的例子太多太多了。为什么把一个简单的连续
变量的
概率密
: 度函数转换公式叫flow?就算叫flow,也得是一个旋度为零只有散度的连
续不可
压缩的
: flow。
【在 l******x 的大作中提到】 : 这个版最近的政治气氛太浓了。以前还是很多不错的讨论。
|
l******x 发帖数: 1 | 6 比较了一下CPU上TF2.x vs Torch 1.x用二阶方法的速度区别,一样的问题一样的参数:
Lenet5 CNN: TF 1.7 倍快
a small LSTM: TF 4 倍快
区别还是蛮大的! |
l******x 发帖数: 1 | 7 继续试水TF2.x,发现如果不用@tf.function,tf会慢很多很多,自写的模块的速度常
常只有Pytorch的一半都不到。如果加@tf.function,TF 2.x和TF 1.x其实没有什么区
别,循环要用tf.while_loop,不然不同的sequence length都要产生新的graph;If...
else...两个分支必须要返回同类型同大小的tensor,这就是在用tf.cond。如果要TF又
快又小,还是只能按照TF 1.x的方式来写。 |
c*******v 发帖数: 2599 | 8 說實話除了幾個小例子。我基本上沒用過TF。感覺這方向太擁擠了。
另外我有自己的ANN辦法。屬於古代技術。
..
【在 l******x 的大作中提到】 : 继续试水TF2.x,发现如果不用@tf.function,tf会慢很多很多,自写的模块的速度常 : 常只有Pytorch的一半都不到。如果加@tf.function,TF 2.x和TF 1.x其实没有什么区 : 别,循环要用tf.while_loop,不然不同的sequence length都要产生新的graph;If... : else...两个分支必须要返回同类型同大小的tensor,这就是在用tf.cond。如果要TF又 : 快又小,还是只能按照TF 1.x的方式来写。
|
l******x 发帖数: 1 | 9 陆陆续续的有人问我的那个二阶方法的TF2.x update,趁着这几天就整理了一下。一开
始还是感觉TF2.x很不错,既能eager execution又能像TF1.x一样,但一dive进去,发
现还是只能像TF1.x那样写才有意义,TF2.x的那个autograph.to_code又在写的code和
run的code中隔了一层,搞的有些复杂。 |
l******x 发帖数: 1 | 10 搞eager execution,比Pytorch慢太多了。写Static graph,比Pytorch快不少,但那
个写法确实有些不自然,一段时间不写,就全忘了。 |
c*******v 发帖数: 2599 | 11 你要不要試下把你的二階方法弄到matlab?
https://www.mathworks.com/help/deeplearning/ug/deep-learning-in-matlab.html
TF應該是沒有API promising之類的東西。
假如TF未來換了領導,維護工作量可能會很大。
【在 l******x 的大作中提到】 : 搞eager execution,比Pytorch慢太多了。写Static graph,比Pytorch快不少,但那 : 个写法确实有些不自然,一段时间不写,就全忘了。
|