Tensorboard 1.13.1的使用,及遇到的几个问题

TensorBoard介绍
TensorBoard是TensorFlow的可视化工具,它可以通过TensorFlow程序运行过程中输出的日志文件可视化TensorFlow程序的运行状态。TensorFlow和TensorBoard程序跑在不同的进程中,TensorBoard会自动读取最新的TensorFlow日志文件,并呈现当前程序运行的最新状态。
代码运行

(1)在Windows或者Linux下TensorFlow框架下,本人所用为win10下的Spyder。

(2)首先创建一个可视化.py文件,它会默认保存到程序的工作空间中,其中

writer = tf.summary.FileWriter("logs/",sess.graph)#加载到文件里,再从文件里加载出来观看

测试代码如下:

import tensorflow as tf

def add_layer(input,in_size,out_size,activation_function=None):
    #add one more layer and return the output of this layer
    with tf.name_scope('layer'):
        with tf.name_scope('weights'):
            Weights = tf.Variable(tf.random_normal([in_size,out_size]),name='W')
        with tf.name_scope('biases'):
            biases = tf.Variable(tf.zeros([1,out_size]) + 0.1,name='b')
        with tf.name_scope('Wx_plus_b'):
            Wx_plus_b = tf.add(tf.matmul(input,Weights),biases)
        if activation_function is None:
            outputs = Wx_plus_b
        else:
            outputs = activation_function(Wx_plus_b,)
        return outputs

#define placeholder for inputs to network
with tf.name_scope('input'):
    xs = tf.placeholder(tf.float32,[None,1],name='x_input')
    ys = tf.placeholder(tf.float32,[None,1],name='y_input')

#add hidder layer
l1 = add_layer(xs,1,10,activation_function=tf.nn.relu)
#add output layer
prediction = add_layer(l1,10,1,activation_function=None)

#the error between prediction and real data
with tf.name_scope('loss'):
    loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1]))
with tf.name_scope('train'):
    train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

sess = tf.Session()
writer = tf.summary.FileWriter("logs/",sess.graph)#加载到文件里,再从文件里加载出来观看
#important step
sess.run(tf.initialize_all_variables())

(3)运行完毕后会生成在log下生成文件,打开终端,切换到文件目录下:

activate tensorflow
cd 你的路径
tensorboard --logdir=logs

此处出现了一个小的插曲。运行后出现

OSError:[Errno 22] Invalid argument

此处查阅资料后,博主https://blog.youkuaiyun.com/u013244846/article/details/88380860,给出了解决方案。但是本人所用工具为Spyder,不过解决方法大致相同。

在tensorflow环境下查找...\Lib\site-packages\tensorboard路径下的manager.py 打开修改_type_timestamp的定义下的serialize,

serialize=lambda dt: int(dt.strftime("%S"))

最终运行后会出现如下结果:

(tensorflow) I:\TensorflowWS>tensorboard --logdir=logs
TensorBoard 1.13.1 at http://DESKTOP-RR115KR:6006 (Press CTRL+C to quit)

(4)打开浏览器,将网址复制到地址栏。

然而此处遇到了问题

在几经周折以后,在博主https://blog.youkuaiyun.com/dr_theodore/article/details/80748068出找到了解决方法。即在末尾加一句--host=127.0.0.1

(tensorflow) I:\TensorflowWS>tensorboard --logdir=logs --host=127.0.0.1
TensorBoard 1.13.1 at http://127.0.0.1:6006 (Press CTRL+C to quit)

完成后,如图:

另附一条Tensorboard学习总结Tensorboard各显示块的作用

### 解决NumPy版本冲突 当处理多个依赖于不同版本NumPy的包时,可能会遇到复杂的依赖关系问题。为了确保所有软件包都能正常工作并解决这些冲突,可以采取以下几种方法: 对于特定环境中的Python包管理工具`pip`, 可以通过创建虚拟环境来隔离项目及其依赖项,从而避免全局环境中可能出现的版本冲突问题[^1]。 如果已经处于一个干净的工作空间或者希望通过更新现有环境解决问题,则建议先尝试升级或降级NumPy到满足其他库需求的具体版本号。例如,在命令行输入 `pip install --upgrade numpy==指定版本号` 来精确控制所使用的NumPy版本[^2]。 考虑到Anaconda发行版自带了许多科学计算相关的预编译二进制文件,并且能够更好地处理跨平台兼容性和依赖解析等问题,因此推荐使用Conda作为包管理和部署解决方案之一。可以通过运行类似于 `conda install -c conda-forge package_name` 的命令来安装来自社区维护通道(如conda-forge)上的稳定版本[^4]。 另外值得注意的是,某些情况下直接从源码构建可能是必要的选择;这通常适用于想要获取最新特性或是修复尚未发布的错误场景下。不过这样做往往需要额外配置编译器和其他开发资源,增加了操作难度和时间成本[^5]。 ```bash # 创建一个新的虚拟环境 (可选) python -m venv myenv source myenv/bin/activate # Linux/MacOS 或者 Windows 下使用 `myenv\Scripts\activate` # 安装具体版本的 NumPy 和其他所需包 pip install numpy==1.19.3 bottleneck cmdstanpy contourpy db-dtypes matplotlib mkl-fft numba opencv-python pandas pandas-gbq prophet pyarrow scikit-learn scipy tensorboard transformers apache-superset ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值