TensorFlow(3)-與訓練相關的操作

與訓練相關的操作

  • 0 gpu版本的tensor flow安裝
  • 1. tf.control_dependencies(update_ops)

0 gpu版本的tensor flow安裝

cuda10.2

conda create -n py27 python=2.7
conda activate py27
pip install tensorflow==1.14.0

驗證 gpu版本的tensor可用

import tensorflow as tf
print(tf.test.is_gpu_available()) # true 為可用

報錯1: Could not dlopen library ‘libcudart.so.10.0’; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-11.2/lib64:
解決:安裝cudatoolkit

conda install cudatoolkit=10.0

報錯1: Could not dlopen library ‘libcudnn.so.7’; dlerror: libcudnn.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-11.2/lib64
解決:安裝cudnn=7.6.5

conda install cudnn=7.6.5

如果你的模型訓練出不了效果,可能的原因太多了,沒搞清tf 中各個函數的具體作用可能就是其中一個原因。本文記錄【如果不理清,會造成無法解釋的訓練現象的操作】。

1. tf.control_dependencies(update_ops)

  1. tf.control_dependencies()–保證其作用域內的操作必須要在該函數所傳遞的參數中的操作完成后再進行。 如下Code Demo,只有在update_ops 操作完成后,才會執行optimizer.minimize(loss)。
  2. tf.GraphKeys.UPDATE_OPS–tensorflow計算圖中內置的一個集合,通過 tf.get_collection獲取這個集合。其中會保存一些需要在訓練操作之前完成的操作。例如: batch normalization 均值和方差的更新。

Code Demo

  update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)with tf.control_dependencies(update_ops):train_op = optimizer.minimize(loss)

參考文獻:
1.tensorflow中的batch_norm以及tf.control_dependencies和tf.GraphKeys.UPDATE_OPS的探究
2.tf.get_collection(tf.GraphKeys.UPDATE_OPS)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444639.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444639.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444639.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode14. 最長公共前綴

編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴,返回空字符串 ""。 示例 1: 輸入: ["flower","flow","flight"] 輸出: "fl" 示例 2: 輸入: ["dog","racecar",&quo…

Android在子線程里使用Toast報錯Can't toast on a thread that has not called Looper.prepare()

在接android SDK的時候有時候為了方便debug調試查看,通過Toast輸出相關信息, 實際上這個是在子線程中輸出的,在logcat里查看有如下報錯java.lang.RuntimeException: Cant toast on a thread that has not called Looper.prepare()。 解決辦法…

虛擬機安裝windows2012和虛擬機安裝國產系統deepin

虛擬機安裝windows2012和虛擬機安裝國產系統deepin 一.安裝windows20121.安裝VMWare虛擬機2.1.注意點一:VMWare虛擬網卡2.2.注意點二:配置虛擬網絡編輯器3.安裝配置Windows Server 2012 R2 二.虛擬機安裝deepin1.deepin官網下載ios鏡像2.deepin下載合適的…

leetcode876 鏈表中間的結點

給定一個帶有頭結點 head 的非空單鏈表,返回鏈表的中間結點。 如果有兩個中間結點,則返回第二個中間結點。 示例 1: 輸入:[1,2,3,4,5] 輸出:此列表中的結點 3 (序列化形式:[3,4,5]) 返回的結點值為 3 。 …

TensorFlow(4)-TFRecord

TFRecord1. tf.train.Example1.1 tfrecord 數據范式轉化1.2 demo 數據集構建2. TFRecord 讀寫2.1 寫入1-tf.io.TFRecordWriter()2.3 讀取-tf.data.TFRecordDataset()2.3 data -> dataset -> 存儲-tf.data.experimental.TFRecordWriter()tfrecord 用于存儲二進制序列數據的…

Playfab開發(一)如何調用PlayFab接口

本人從事海外游戲制作和發行,參與了不少海外研發團隊studio的項目,這里我將個人接觸到的一些使用Playfab開發的項目心得分享給大家。 PlayFab簡介 playfab是一家主要為游戲開發人員提供游戲開發和管理的跨平臺工具及服務的公司, PlayFab正在構建當今游戲所需的所有基于云的…

PlayFab(二)如何通過Demo應用來進一步熟悉Playfab

有時候剛開始接觸新的平臺會兩眼一麻黑,不過這個文章希望能給讀者一些啟示,Playfab默認會給開發者提供一個應用,這里我暫且叫他”我的游戲“; 我通過官網提供的DEMO測試地址: https://www.vanguardoutrider.com/#/ 來為該應用配置服務器。 如果你是第一次進入這個頁面想為…

leetcode718 最長重復子數組

給兩個整數數組 A 和 B &#xff0c;返回兩個數組中公共的、長度最長的子數組的長度。 示例 1: 輸入: A: [1,2,3,2,1] B: [3,2,1,4,7] 輸出: 3 解釋: 長度最長的公共子數組是 [3, 2, 1]。 說明: 1 < len(A), len(B) < 1000 0 < A[i], B[i] < 100 思路&#xf…

PaperNotes(20)-TGAN-DeliGAN

GAN的文章2篇1.從RS-GAN說起2.TGANAbstract1 Reviews of GANs2.3 Relate to Turing Test3 Related Works4 Experiments4.1 Design of Discriminator5.Conclusion3 DeliGANAbstract1. Introduction2. Related Work3.GAN4.本文方法5.實驗5.1. Modified Inception Score5.2. Toy D…

ubuntu apache配置負載均衡篇(一)

首先下載apache2服務器 apt-get install apache2 使得代理生效: a2enmod proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http 修改配置 sudo vi /etc/apache2/mods-enabled/proxy.conf ProxyRequests Off <Proxy *> Order deny,allow Deny …

leetcode108 將有序數組轉換為二叉搜索樹

將一個按照升序排列的有序數組&#xff0c;轉換為一棵高度平衡二叉搜索樹。 本題中&#xff0c;一個高度平衡二叉樹是指一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。 示例: 給定有序數組: [-10,-3,0,5,9], 一個可能的答案是&#xff1a;[0,-3,9,-10,null,…

ubuntu apache配置負載均衡篇(二)

上篇文章說到了基本的負載均衡配置,這次再說下負載均衡里的反向代理配置項參數:ProxyPass與ProxyPassReverse及ProxyPassMatch 1、ProxyPass: 語法:ProxyPass [path] !|url 它主要是用作URL前綴匹配,不能有正則表達式,它里面配置的Path實際上是一個虛擬的路徑,在反向…

MachineLearning(12)- RNN-LSTM-tf.nn.rnn_cell

RNN-LSTM1.RNN2.LSTM3. tensorflow 中的RNN-LSTM3.1 tf.nn.rnn_cell.BasicRNNCell()3.2 tf.nn.rnn_cell.BasicLSTMCell()3.3 tf.nn.dynamic_rnn()--多步執行循環神經網絡1.RNN RNN-Recurrent Neural Network-循環神經網絡 RNN用來處理序列數據。多層感知機MLP層間節點全聯接&…

判斷微信小游戲用戶是否真的分享

作為開發者,傳統的微信分享拿到分享的狀態碼并不能完全確定玩家是否分享到好友或群。 因此一部分開發者給分享做一個定時器,超過5秒就判定玩家分享成功,實際上很容易被玩家利用。 因此我們可以利用微信分享過程中的圖片url鏈接做文章: 1.需要一個web服務器,提供給客戶端…

Leaf服務器框架從入門到放棄(一)認識Leaf和安裝Leaf環境

首先我簡單介紹下Leaf服務器,下面這段描述是我摘自github官方README說明: Leaf 游戲服務器框架簡介 Leaf 是一個由 Go 語言(golang)編寫的開發效率和執行效率并重的開源游戲服務器框架。Leaf 適用于各類游戲服務器的開發,包括 H5(HTML5)游戲服務器。 Leaf 的關注點:…

Linux Command List

Linux Command ListLinux Command List)todops auxsednohupnvidia-smisnaptorch.cuda.is_available()Linux Command List) Linux(1)-touch,mkdir,rm,mv,cp,ls,cd,cat Linux(2)-tar,find,grep,xargs Linux(3)-網-ifconfig,ping,ssh Linux(4)-資源-du,top,free,gnome Linux(…

JS演示圖論匯總

BFS.js var BFSClass function () {this.isVisit new Array();this.adj new Array();this.vQueue new Array();this.curV;this.temp new Array();this.init function (beginV) {this.curV null;this.temp [];//初始化頂點訪問數組this.isVisit [];for (var i 0; i &…

Shell腳本自動監控docker容器的狀態

首先我們來寫一個腳本rootserver:~# cat docker_monitor.sh #!/bin/bash #監控容器的運行狀態 #容器名稱 傳入參數 containerName$1 #當前時間 nowdate "%Y-%m-%d %H:%M:%S"# 查看進程是否存在 existdocker inspect --format {{.State.Running}} ${containerNam…

Python模塊(9)-Time,Json 簡易使用教程

Time,Json簡易使用教程1 Time1.1 獲取時間1.2 程序計時2 Json1 Time Python中內置了一些與時間處理相關的庫&#xff0c;如time、datatime和calendar庫。其中time庫是Python中處理時間的標準庫&#xff0c;是最基礎的時間處理庫&#xff0c;提供如下功能功&#xff1a; &#…

AWS的VPC使用經驗(一)

Amazon VPC 概念 Amazon VPC 是 Amazon EC2 的網絡化階層。如果您是首次使用 Amazon EC2,請參閱 Amazon EC2 用戶指南(適用于 Linux 實例) 中的什么是 Amazon EC2?以獲取簡要概述。 以下是 VPC 的主要概念: Virtual Private Cloud (VPC) 是僅適用于您的 AWS 賬戶的虛擬網…