tensorflow模型訓練時維度處理技巧
修改模型一周,調bug半個月,特此總結:
在某乙個維度為1時,用tf.reshape
tf.matmul(要求兩個元素維度正好相反
)要求兩個元素維度正好相反
和tf.multiply ( 張量1 ,張量2)要求兩個元素維度一致
assign_sub():重新賦值,但需要
先用 tf.variable 定義變數 w
要求輸出的資料格式保持一致且支援廣播作用的函式:
tf.muliply(x, y, name=none)
tf.add(x, y, name=none)
tf.concat(values, axis, name='concat'):
多種網路joint訓練的時候,
逆向操作tf.split(value, num_or_size_splits, axis=0, num=none, name='split')
tf.stack(values, axis, name='stack')增加指定維度
tf.tile():
把陣列沿各個方向複製
,不變的維度設定為1
反之用tf.squeeze壓縮維度
tf.nn.embedding_lookup(ids = [1,3,5]):找出embeddings中第1,3,5行,組成乙個tensor返回,其維度是有幾個數則輸出幾個值
tf.split(value,num_or_size_splits,axis=0):
對value張量沿著axis維度,按照num_or_size_splits個數
切分
tensorflow如何使用 訓練模型
首先檢測 存在 tpu tf.distribute.cluster resolver.tpuclusterresolver 如果先前設定好了 環境變數,不需要再給引數 tpu的返回值為 則檢測到了 tf.config.experimental connect to cluster tpu tf.tp...
tensorflow學習筆記(6) 訓練模型
在神經網路優化演算法中,用的最多的是反向傳播演算法。通過tensorflow實現反向傳播演算法的第一步是使用tensorflow來表達乙個batch,tensorflow中提供了placeholder機制用於提供輸入資料。placeholder相當於定義了乙個位置,這個位置中的資料在程式執行時再指定...
tensorflow簡單示例 訓練線性模型
import tensorflow as tf import numpy as np 使用numpy生成100個隨機點 x data,y data表示的就是一條直線,斜率0.1,截距0.2 x data np.random.rand 100 y data x data 0.1 0.2 構乙個造線性模...