Tôi mới sử dụng Tensorflow và sẽ được hưởng lợi rất nhiều từ một số hình dung về những gì tôi đang làm. Tôi hiểu rằng Tensorboard là một công cụ trực quan hữu ích, nhưng làm cách nào để chạy nó trên máy Ubuntu từ xa của mình?
Tôi mới sử dụng Tensorflow và sẽ được hưởng lợi rất nhiều từ một số hình dung về những gì tôi đang làm. Tôi hiểu rằng Tensorboard là một công cụ trực quan hữu ích, nhưng làm cách nào để chạy nó trên máy Ubuntu từ xa của mình?
Câu trả lời:
Đây là những gì tôi làm để tránh các sự cố khiến máy chủ từ xa chấp nhận IP bên ngoài cục bộ của bạn:
-Lđể chuyển cổng 6006của máy chủ từ xa vào cổng 16006của máy của tôi (ví dụ):
ssh -L 16006:127.0.0.1:6006 olivier@my_server_ip
Những gì nó làm là mọi thứ trên cổng 6006của máy chủ (trong 127.0.0.1:6006) sẽ được chuyển tiếp đến máy của tôi trên cổng 16006.
tensorboard --logdir logvới 6006cổng mặc định127.0.0.1đây là ip máy cục bộ của bạn , vì vậy bạn nên để nguyên như vậy. Không thay đổi nó thành ip từ xa của bạn. Tôi đã lãng phí 10 phút cho việc này. Tôi thật ngu ngốc!
                    -4cờ ssh đã giải quyết được nó. Đọc xung quanh các câu hỏi tương tự, nhiều người đã gặp sự cố với địa chỉ IPv6 trong máy chủ của họ.
                    -Ncờ để tránh mở một trình bao ssh. Việc thêm -fsẽ đặt kết nối ssh ở chế độ nền.
                    Bạn có thể chuyển tiếp bằng một sshlệnh khác mà không cần ràng buộc với cách bạn đang kết nối với máy chủ (thay thế cho câu trả lời khác). Do đó, thứ tự của các bước dưới đây là tùy ý.
từ máy cục bộ của bạn , chạy
ssh -N -f -L localhost:16006:localhost:6006 <user@remote>
trên máy từ xa , chạy:
tensorboard --logdir <path> --port 6006
Sau đó, điều hướng đến (trong ví dụ này) http: // localhost: 16006 trên máy cục bộ của bạn.
(giải thích về lệnh ssh:
-N : không có lệnh từ xa
-f : đặt ssh trong nền
-L <machine1>:<portA>:<machine2>:<portB> :
chuyển tiếp <machine2>:<portB>(phạm vi từ xa) tới <machine1>:<portA>(phạm vi cục bộ)  
Bạn không cần phải làm bất cứ điều gì cầu kỳ. Chỉ cần chạy:
tensorboard --host 0.0.0.0 <other args here>
và kết nối với url và cổng máy chủ của bạn. Lệnh --host 0.0.0.0tensorflow lắng nghe từ các kết nối trên tất cả các địa chỉ IPv4 trên máy cục bộ.
Một tùy chọn khác nếu bạn không thể làm cho nó hoạt động vì một số lý do là chỉ cần gắn một thư mục logdir trên hệ thống tệp của bạn bằng sshfs:
sshfs user@host:/home/user/project/summary_logs ~/summary_logs
và sau đó chạy Tensorboard cục bộ.
"whats my ip"hoặc nhập lệnh sau:wget http://ipinfo.io/ip -qO -wget http://ipinfo.io/ip -qO -lại từ đó.6006123.123.12.32:6006Nếu máy chủ từ xa của bạn đang mở cho lưu lượng truy cập từ địa chỉ IP cục bộ của bạn, bạn sẽ có thể thấy Tensorboard từ xa của mình.
Cảnh báo : nếu tất cả lưu lượng truy cập internet có thể truy cập vào hệ thống của bạn (nếu bạn chưa chỉ định một địa chỉ IP duy nhất có thể truy cập nó), bất kỳ ai cũng có thể xem kết quả TensorBoard của bạn và chạy tự tạo SkyNet.
Đây không phải là một câu trả lời thích hợp nhưng là một trình gỡ rối, hy vọng sẽ giúp ích cho những người dùng mạng ít kinh nghiệm hơn như tôi.
Trong trường hợp của tôi (firefox + ubuntu16), trình duyệt đang kết nối, nhưng hiển thị một trang trống (với biểu tượng tensorboard trên tab) và không có hoạt động nhật ký nào được hiển thị. Tôi vẫn không biết điều gì có thể là lý do cho điều đó (không tìm hiểu nhiều về nó nhưng nếu ai biết hãy cho biết!), Nhưng tôi đã giải quyết được nó khi chuyển sang trình duyệt mặc định của ubuntu. Đây là các bước chính xác, khá giống với câu trả lời của @Olivier Moindrot:
tensorboard --logdir=. --host=localhost --port=6006ssh -p 23 <USER>@<SERVER> -N -f -L localhost:16006:localhost:6006Browservà truy cập localhost:16006. Trang tensorboard sẽ tải mà không có nhiều độ trễ.Để kiểm tra xem đường hầm SSH có hoạt động hiệu quả hay không, một máy chủ phản hồi đơn giản như tập lệnh python này có thể giúp:
<ECHO>.pytệp trong máy chủ và chạy nó với python <ECHO>.py. Bây giờ máy chủ sẽ nghe tập lệnh echo trên 0.0.0.0:5555 .ssh -p <SSH_PORT> <USER>@<SERVER> -N -f -L localhost:12345:localhost:5555telnet localhost 12345sẽ kết nối với tập lệnh echo đang chạy trong máy chủ. Nhập hellovà nhấn enter sẽ in hellotrở lại. Nếu đúng như vậy, đường hầm SSH của bạn đang hoạt động. Đây là trường hợp của tôi và dẫn tôi đến kết luận rằng vấn đề liên quan đến trình duyệt. Việc cố gắng kết nối từ một thiết bị đầu cuối khác đã khiến thiết bị đầu cuối bị đóng băng.Như tôi đã nói, hy vọng nó sẽ giúp! 
Chúc mừng, 
Andres
https://github.com/dmlc/tensorboardchỉ để thêm nhiều lựa chọn thay thế hơn cho thiết lập. Chúc mừng
                    Bạn có thể chạy trực tiếp lệnh sau trên thiết bị đầu cuối của máy chủ từ xa để chạy tensorboard:
tensorboard --logdir {tf_log directory path} --host "0.0.0.0" --port 6006
Hoặc bạn cũng có thể khởi động bảng căng trong máy tính xách tay ipython của mình:
%load_ext tensorboard
%tensorboard --logdir {tf_log directory path} --host "0.0.0.0" --port 6006
              Bạn phải tạo kết nối ssh bằng cách sử dụng chuyển tiếp cổng:
ssh -L 16006:127.0.0.1:6006 user@host
Sau đó, bạn chạy tensorboardlệnh:
tensorboard --logdir=/path/to/logs
Sau đó, bạn có thể dễ dàng truy cập tensorboardvào trình duyệt của mình theo:
localhost:16006/
              Trong khi chạy tensorboard, cung cấp thêm một tùy chọn --host = ip của hệ thống của bạn và sau đó bạn có thể truy cập nó từ hệ thống khác bằng cách sử dụng http: // ip của hệ thống máy chủ của bạn : 6006
Một cách tiếp cận khác là sử dụng proxy ngược , cho phép bạn xem Tensorboard từ bất kỳ thiết bị được kết nối internet nào mà không có SSHing . Cách tiếp cận này có thể làm cho việc xem Tensorboard trên thiết bị di động trở nên dễ dàng / dễ dàng hơn nhiều.
Các bước:
1) Tải xuống proxy ngược Ngrok trên máy từ xa lưu trữ Tensorboard của bạn. Xem https://ngrok.com/download để biết hướng dẫn (thiết lập khoảng 5 phút).
2) Chạy ngrok http 6006 (giả sử bạn đang lưu trữ Tensorboard trên cổng 6006)
3) Lưu URL mà ngrok xuất ra:
4) Nhập nó vào bất kỳ trình duyệt nào để xem TensorBoard:
Đặc biệt cảm ơn Sam Kirkiles