歪嘴大聯盟

g
guvest
楼主 (未名空间)

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
straybird00

轮子,别谈这些没用的,谈谈你家李大屎有啥新计划吧。
l
lixilinx

最近在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
lixilinx

这个版最近的政治气氛太浓了。以前还是很多不错的讨论。
g
guvest

My two cents:

乱用各种名词的,多半都是觉得vector,
tensor,什么的特别高大上。

其实事情是反过来的。array , list是是最复杂的。
vector 等等是数组加上特殊的几何限制使得其容易处理的产物。(vector 在一定的坐
标变换下是不变的,例如旋转)。

没有专门的关于list, array的学问,就是因为他们复杂。

叫nd array,
Jagged/ragged array比什么raggered tensor好多了。
【 在 lixilinx() 的大作中提到: 】
<br>: 最近在update我的那个二阶优化算法到tf 2.x,
<br>: https://github.com/lixilinx/psgd_tf
<br>: TF 2.x比以前的好用多了,还是一样,比torch快很多!
<br>: 对这些滥用名词几乎麻木了。TF之前,什么遥感的甚至最基本的RGB图像
都叫
tensor。
<br>: 一个矩阵(二阶tensor)就能描述这么多问题:优化用的Hessian;各种
数学物
理里的
<br>: eigen问题;体积;外微分等等。高阶tensor就比矩阵复杂多多了。叫
ArrayFlow?
<br>: ragged array也是C里面常用的。
<br>: Deep learning里滥用名词的例子太多太多了。为什么把一个简单的连续
变量的
概率密
<br>: 度函数转换公式叫flow?就算叫flow,也得是一个旋度为零只有散度的连续不可
压缩的
<br>: flow。
: ...................
<br>

l
lixilinx

比较了一下CPU上TF2.x vs Torch 1.x用二阶方法的速度区别,一样的问题一样的参数:

Lenet5 CNN: TF 1.7 倍快
a small LSTM: TF 4 倍快

区别还是蛮大的!
i
iDemocracy

主要是涉及到Dominion voting machine的安全问题,以至于决定大选结果,码工们就
来了精神。

【 在 lixilinx () 的大作中提到: 】
: 这个版最近的政治气氛太浓了。以前还是很多不错的讨论。
i
iDemocracy

我没有深钻tensorflow,但一直在钻研微分流形,然后见到tensorflow就不往脑子里进了。原来发生了不兼容现象。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 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,以及向量的基本概念的理解和分析,是無數數學
: 或者物理細節知識的起因。
: ...................
s
straybird00

傻轮子你又来秀智商下限了。你跟大嘴真是一路货,死皮赖脸,都是你们对。

【 在 iDemocracy (DEMO) 的大作中提到: 】
: 主要是涉及到Dominion voting machine的安全问题,以至于决定大选结果,码工们就
: 来了精神。

l
lixilinx

继续试水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
chebyshev

說實話除了幾個小例子。我基本上沒用過TF。感覺這方向太擁擠了。
另外我有自己的ANN辦法。屬於古代技術。
【 在 lixilinx () 的大作中提到: 】
: 继续试水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
lixilinx

陆陆续续的有人问我的那个二阶方法的TF2.x update,趁着这几天就整理了一下。一开始还是感觉TF2.x很不错,既能eager execution又能像TF1.x一样,但一dive进去,发
现还是只能像TF1.x那样写才有意义,TF2.x的那个autograph.to_code又在写的code和
run的code中隔了一层,搞的有些复杂。
l
lixilinx

搞eager execution,比Pytorch慢太多了。写Static graph,比Pytorch快不少,但那
个写法确实有些不自然,一段时间不写,就全忘了。
c
chebyshev

你要不要試下把你的二階方法弄到matlab?https://www.mathworks.com/help/deeplearning/ug/deep-learning-in-matlab.html

TF應該是沒有API promising之類的東西。
假如TF未來換了領導,維護工作量可能會很大。

【 在 lixilinx () 的大作中提到: 】
: 搞eager execution,比Pytorch慢太多了。写Static graph,比Pytorch快不少,但那
: 个写法确实有些不自然,一段时间不写,就全忘了。