我正在使用treelib生成树,现在我需要易于阅读的树版本,因此我想将它们转换为图像.例如:

以下树的示例JSON数据:
有了数据:
>>> print(tree.to_json(with_data=True))
{"Harry": {"data": null, "children": [{"Bill": {"data": null}}, {"Jane": {"data": null, "children": [{"Diane": {"data": null}}, {"Mark": {"data": null}}]}}, {"Mary": {"data": null}}]}}
Run Code Online (Sandbox Code Playgroud)
没有数据:
>>> print(tree.to_json(with_data=False))
{"Harry": {"children": ["Bill", {"Jane": {"children": [{"Diane": {"children": ["Mary"]}}, "Mark"]}}]}}
Run Code Online (Sandbox Code Playgroud)
我想做的事?
激活 tensorflow_p36 环境并运行 python wsgi.py
我的supervisord.conf文件是什么样的?
[program:my_program]
command = /home/ec2-user/anaconda3/envs/tensorflow_p36/bin/python /home/ec2-user/abc/wsgi.py
directory= /home/ec2-user/abc/
environment=PATH= "/home/ec2-user/anaconda3/envs/tensorflow_p36/bin"
user= ec2-user
redirect_stderr = True
stdout_logfile = /home/ec2-user/abc/logs/gunicorn/gunicorn_stdout.log
stderr_logfile = /home/ec2-user/abc/logs/gunicorn/gunicorn_stderr.log
Run Code Online (Sandbox Code Playgroud)
该文件位于默认的 /etc/supervisord.conf 位置。
到目前为止我尝试了什么?
我尝试了这个问题的所有解决方案,但没有导入安装在该虚拟环境中的模块。例如,我在导入 tensorflow、flask 等时出错。然而,当我在终端中执行相同的命令后,source activate tensorflow_p36它工作得很好。
我还尝试将本答案中建议的多个程序分组,其中我在第一个程序中激活虚拟环境并在第二个程序中运行 python 命令并将它们组合在一起。没有用,仍然出现相同的导入错误。
额外信息:
当我运行时sudo service supervisord restart,我收到以下消息:
停止监督:[确定]
启动 supervisord: /usr/local/lib/python2.7/site-packages/supervisor-3.3.4-py2.7.egg/supervisor/options.py:461: UserWarning: Supervisord is running as root and it is running它在默认位置的配置文件(包括它的当前工作目录);您可能想要指定一个“-c”参数来指定配置文件的绝对路径以提高安全性。'Supervisord 正在以 root 身份运行并且正在搜索' [确定]
我想在内置的 anaconda 环境 tensorflow_p36 中运行 python 脚本。要检查它是否在虚拟环境中,我使用命令pip -V。
我第一次尝试 bash 脚本:
#!/bin/bash
source activate tensorflow_p36
python /home/ec2-user/abc/temp.py
pip -V
Run Code Online (Sandbox Code Playgroud)
注意:tensorflow_p36作为内置环境,不需要从特定/env/bin目录调用。可以从任何目录激活它。我认为这是Amazon Deep Learning AMI的一项功能。
我对 bash 脚本的第二次尝试:
#!/bin/bash
pythonEnv="/home/ec2-user/anaconda3/envs/tensorflow_p36/"
source ${pythonEnv}bin/activate
${pythonEnv}bin/python /home/ec2-user/abc/temp.py
pip -V
Run Code Online (Sandbox Code Playgroud)
注意:当我尝试source /home/ec2-user/anaconda3/envs/tensorflow_p36/bin/activate在终端中运行命令时,环境没有被激活。
每次,我都会得到相同的结果:
pip 9.0.1 来自 /home/ec2-user/anaconda3/lib/python3.6/site-packages (python 3.6)
然而,我应该得到:
pip 9.0.1 from /home/ec2-user/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages (python 3.6)
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下如何激活虚拟环境并从该环境运行 python 脚本吗?我需要使用这个特定的环境,因为其中安装了依赖项。
额外信息: 不确定这是否重要,但 tensorflow_p36 是conda 环境,而不是 virtualenv。
我是Keras的新手,正在学习构建卷积神经网络模型。我正在使用MNIST数据集。
(X_train, y_train), (X_test, y_test) = mnist.load_data()
Run Code Online (Sandbox Code Playgroud)
经过构建和评估,我获得了99%以上的准确性。
model = NN_model() # Sequential model built with multiple Convolution and pooling layers
model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=3, batch_size=200, verbose=2)
scores = model.evaluate(X_test, y_test, verbose=0)
Run Code Online (Sandbox Code Playgroud)
现在,我想通过选择一个随机图像,使用matplotlib打印它,然后使用学习的模型进行预测来手动检查结果。例如,X_test [39]数据如下所示。
print(model.predict(X_test[39],verbose=2))
Run Code Online (Sandbox Code Playgroud)
当我尝试执行此操作时,它会要求我将预处理的数据转换为conv2d数据,因为模型正在对其进行转换。如何将这种转换手动应用于测试数据?
ValueError: Error when checking : expected conv2d_1_input to have 4 dimensions, but got array with shape (1, 28, 28)
Run Code Online (Sandbox Code Playgroud)