logo

텐서보드

TensorFlow는 TensorBoard라고 불리는 시각화 도구입니다. 데이터 흐름 그래프를 분석하고 머신러닝 모델을 이해하는 데 사용됩니다. TensorBoard는 그래프를 시각화하는 데 사용되는 인터페이스와 모델을 이해하고, 디버그하고, 최적화하는 데 필요한 많은 도구입니다.

TensorBoard의 중요한 기능은 수직 정렬로 그래프의 매개변수 및 세부사항에 대한 다양한 유형의 통계 보기를 포함한다는 것입니다.

java do while 예제

심층 신경망에는 최대 36,000 노드. TensorFlow는 이러한 노드를 상위 수준 블록으로 축소하고 동일한 구조를 강조 표시하는 데 도움이 됩니다. 이를 통해 계산 그래프의 기본 섹션에 초점을 맞춰 그래프를 더 잘 분석할 수 있습니다.

텐서보드

TensorBoard 시각화는 사용자가 노드를 이동, 확대/축소 및 확장하여 세부 정보를 표시할 수 있는 매우 대화형이라고 합니다.

다음은 TensorBoard 시각화의 전체 작업을 보여주는 주어진 다이어그램 표현입니다.

텐서보드

알고리즘은 노드를 상위 수준 블록으로 축소하고 동일한 구조로 특정 그룹을 강조 표시하여 상위 노드를 분리합니다. 생성된 TensorBoard는 유용하며 기계 학습 모델을 조정하는 데에도 똑같이 중요하게 취급됩니다. 이 시각화 도구는 구성 로그 파일용으로 설계되었습니다.

아래 그림을보십시오 :

텐서보드

신경망은 서로 다른 '연결' 방법을 결정합니다. 뉴런 ' 모델이 결과를 예측할 수 있기 전의 레이어 수. 아키텍처를 정의한 후에는 모델을 훈련할 뿐만 아니라 예측 정확도를 계산하기 위한 측정항목도 필요합니다. 이 측정항목을 손실 함수라고 합니다. 목표는 손실 함수로 사용하는 것입니다.

TensorBoard는 측정항목을 시각화하고 잠재적인 문제를 강조하는 훌륭한 도구입니다. 신경망이 해결책을 찾기까지 몇 시간에서 몇 주가 걸릴 수 있습니다. TensorBoard는 매개변수를 매우 자주 업데이트합니다.

TensorBoard는 다음 URL에 있습니다: http://localhost:6006

TensorBoard의 DashBoard 유형

텐서보드

1. 스칼라 대시보드

시간에 따른 통계를 시각화하는 데 사용됩니다. 예를 들어 학습률이나 손실 함수의 변화를 살펴보고 싶을 수도 있습니다.

2. 히스토그램

TensorBoard의 히스토그램 대시보드는 Tensor의 통계적 분포가 시간에 따라 어떻게 변했는지 보여줍니다. 이를 통해 기록된 데이터를 시각화합니다. tf.summary.histogram .

수학 펑 자바

3. 배포 대시보드

높은 수준의 사용을 보여줍니다. tf.summary.histogram . 배포판에서 일부 높은 수준의 시작을 보여줍니다. 차트의 각 선은 데이터 분포의 백분위수에 대한 힌트를 제공합니다.

4. 이미지 대시보드

이것은 다음을 통해 저장된 png를 보여줍니다. tf.summary.image . 행은 레이블에 해당하고 열은 실행에 해당합니다. TensorBoard의 이미지 대시보드를 사용하면 사용자 정의 시각화를 포함할 수 있습니다.

5. 오디오 대시보드

이는 다음을 통해 저장된 오디오에 대해 재생 가능한 오디오 위젯을 삽입하는 훌륭한 도구입니다. tf.summary.audio . 대시보드에는 항상 모든 태그에 대한 최신 오디오가 포함되어 있습니다.

6. 그래프 탐색기

주로 TensorFlow 모델을 검사하는 데 사용됩니다.

7. 프로젝터

다차원 데이터에 사용되는 TensorFlow의 임베딩 프로젝터입니다. 임베딩 프로젝터는 체크포인트 파일에서 데이터를 읽고 어휘 파일과 같은 해당 데이터로 설정될 수 있습니다.

8. 텍스트 대시보드

텍스트 대시보드에는 다음을 통해 저장된 텍스트 전문가가 표시됩니다. tf.summary.text. 에는 하이퍼링크, 목록, 테이블과 같은 기능이 모두 지원됩니다.

텐서보드

텐서보드의 다양한 관점

다양한 보기는 다양한 형식의 입력을 받아 다르게 표시합니다. 주황색 상단 표시줄에서 변경할 수 있습니다.

    스칼라-분류 정확도와 같은 스칼라 값을 시각화합니다.그래프-신경망 모델처럼 우리 모델의 계산 그래프를 시각화합니다.배포판 -신경망의 가중치와 같이 시간이 지남에 따라 데이터가 어떻게 변하는지 시각화합니다.히스토그램-3차원 관점에서 분포를 보여주는 분포를 보여주는 더 멋진 분포 보기입니다.영사기-단어 임베딩을 시각화하는 데 사용할 수 있습니다. 즉, 단어 임베딩은 의미론적 관계를 포착하는 단어의 숫자 표현입니다.영상-이미지 데이터 시각화오디오-오디오 데이터 시각화텍스트-텍스트 데이터 시각화

텐서보드를 사용하는 방법?

MacOS 및 명령줄 Windows용 터미널에서 TensorBoard를 여는 방법을 알아봅니다.

코드는 향후 튜토리얼에서 설명될 것입니다. 여기서 초점은 TensorBoard에 있습니다.

먼저, 훈련 중에 사용할 라이브러리를 가져와야 합니다.

 ## Import the library import tensorflow as tf import numpy as np 

우리는 데이터를 생성합니다. 10000개의 행과 열로 구성된 배열입니다/p>

 X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape 

아래 코드는 데이터를 변환하고 모델을 생성합니다.

학습률은 0.1입니다. 이 비율을 더 높은 값으로 변경하면 모델이 솔루션을 찾지 못합니다. 위 사진의 왼쪽 부분이 이런 일이 일어났습니다.

아래 예에서는 모델을 작업 디렉터리, 즉 노트북이나 Python 파일을 저장하는 디렉터리에 저장합니다. 경로 내에 TensorFlow는 하위 폴더 이름이 linreg인 train이라는 폴더를 만듭니다.

 feature_columns = [ tf.feature_column.numeric_column('x', shape=X_train.shape[1:])] DNN_reg = tf.estimator.DNNRegressor(feature_columns=feature_columns, # Indicate where to store the log file model_dir='train', hidden_units=[500, 300], optimizer=tf.train.ProximalAdagradOptimizer( learning_rate=0.1, l1_regularization_strength=0.001 ) ) 

산출:

 INFO:tensorflow:Using the default configuration. INFO:tensorflow:Using config:{'_model_dir': 'train/linreg', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_service': None, '_cluster_spec': , '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1} 

마지막 단계는 모델을 훈련시키는 것입니다. 훈련 기간 동안 TensorFlow는 모델 디렉터리에 정보를 기록합니다.

 # Train the estimator train_input = tf.estimator.inputs.numpy_input_fn( x={'x': X_train}, y=y_train, shuffle=False,num_epochs=None) DNN_reg.train(train_input,steps=3000) 

산출:

 INFO:tensorflow:Calling model_fn. INFO:tensorflow:Done calling model_fn. INFO:tensorflow:Create CheckpointSaverHook. INFO:tensorflow: Graph was finalized. INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Saving checkpoints for 1 into train/linreg/model.ckpt. INFO:tensorflow:loss = 40.060104, step = 1 INFO:tensorflow:global_step/sec: 197.061 INFO:tensorflow:loss = 10.62989, step = 101 (0.508 sec) INFO:tensorflow:global_step/sec: 172.487 INFO:tensorflow:loss = 11.255318, step = 201 (0.584 sec) INFO:tensorflow:global_step/sec: 193.295 INFO:tensorflow:loss = 10.604872, step = 301 (0.513 sec) INFO:tensorflow:global_step/sec: 175.378 INFO:tensorflow:loss = 10.090343, step = 401 (0.572 sec) INFO:tensorflow:global_step/sec: 209.737 INFO:tensorflow:loss = 10.057928, step = 501 (0.476 sec) INFO:tensorflow:global_step/sec: 171.646 INFO:tensorflow:loss = 10.460144, step = 601 (0.583 sec) INFO:tensorflow:global_step/sec: 192.269 INFO:tensorflow:loss = 10.529617, step = 701 (0.519 sec) INFO:tensorflow:global_step/sec: 198.264 INFO:tensorflow:loss = 9.100082, step = 801 (0.504 sec) INFO:tensorflow:global_step/sec: 226.842 INFO:tensorflow:loss = 10.485607, step = 901 (0.441 sec) INFO:tensorflow:global_step/sec: 152.929 INFO:tensorflow:loss = 10.052481, step = 1001 (0.655 sec) INFO:tensorflow:global_step/sec: 166.745 INFO:tensorflow:loss = 11.320213, step = 1101 (0.600 sec) INFO:tensorflow:global_step/sec: 161.854 INFO:tensorflow:loss = 9.603306, step = 1201 (0.619 sec) INFO:tensorflow:global_step/sec: 179.074 INFO:tensorflow:loss = 11.110269, step = 1301 (0.556 sec) INFO:tensorflow:global_step/sec: 202.776 INFO:tensorflow:loss = 11.929443, step = 1401 (0.494 sec) INFO:tensorflow:global_step/sec: 144.161 INFO:tensorflow:loss = 11.951693, step = 1501 (0.694 sec) INFO:tensorflow:global_step/sec: 154.144 INFO:tensorflow:loss = 8.620987, step = 1601 (0.649 sec) INFO:tensorflow:global_step/sec: 151.094 INFO:tensorflow:loss = 10.666125, step = 1701 (0.663 sec) INFO:tensorflow:global_step/sec: 193.644 INFO:tensorflow:loss = 11.0349865, step = 1801 (0.516 sec) INFO:tensorflow:global_step/sec: 189.707 INFO:tensorflow:loss = 9.860596, step = 1901 (0.526 sec) INFO:tensorflow:global_step/sec: 176.423 INFO:tensorflow:loss = 10.695, step = 2001 (0.567 sec) INFO:tensorflow:global_step/sec: 213.066 INFO:tensorflow:loss = 10.426752, step = 2101 (0.471 sec) INFO:tensorflow:global_step/sec: 220.975 INFO:tensorflow:loss = 10.594796, step = 2201 (0.452 sec) INFO:tensorflow:global_step/sec: 219.289 INFO:tensorflow:loss = 10.4212265, step = 2301 (0.456 sec) INFO:tensorflow:global_step/sec: 215.123 INFO:tensorflow:loss = 9.668612, step = 2401 (0.465 sec) INFO:tensorflow:global_step/sec: 175.65 INFO:tensorflow:loss = 10.009649, step = 2501 (0.569 sec) INFO:tensorflow:global_step/sec: 206.962 INFO:tensorflow:loss = 10.477722, step = 2601 (0.483 sec) INFO:tensorflow:global_step/sec: 229.627 INFO:tensorflow:loss = 9.877638, step = 2701 (0.435 sec) INFO:tensorflow:global_step/sec: 195.792 INFO:tensorflow:loss = 10.274586, step = 2801 (0.512 sec) INFO:tensorflow:global_step/sec: 176.803 INFO:tensorflow:loss = 10.061047, step = 2901 (0.566 sec) INFO:tensorflow:Saving checkpoints for 3000 into train/linreg/model.ckpt. INFO:tensorflow: Loss for the final step: 10.73032. 

Windows 사용자의 경우

무효 0
 cd C:UsersAdminAnaconda3 activate hello-tf 

TensorBoard를 시작하려면 다음 코드를 사용할 수 있습니다.

 tensorboard --logdir=.	rainlinreg