如何解决如何在 Kaggle Notebook 上安装“Tree Ensemble Layer”
我想在 Kaggle Notebook 上尝试以下代码,但我找不到安装 tf_trees 的方法。
from tensorflow import keras
from tf_trees import TEL
tree_layer = TEL(output_logits_dim=2,trees_num=10,depth=3)
model = keras.Sequential()
model.add(keras.layers.BatchNormalization())
model.add(tree_layer)
似乎无法使用 !pip install 安装 tf_trees
如果有人可以提出解决方案,我将不胜感激。谢谢。
来源:https://github.com/google-research/google-research/tree/master/tf_trees
解决方法
首先打开 Internet 支持并从 github 克隆 google-research 存储库:
!git clone https://github.com/google-research/google-research.git
然后我们需要 g++ 的编译和链接选项,所以运行以下代码片段:
import tensorflow as tf;
print(" ".join(tf.sysconfig.get_compile_flags()))
和
import tensorflow as tf;
print(" ".join(tf.sysconfig.get_link_flags()))
对于我的笔记本,我得到了以下标志:
-I/opt/conda/lib/python3.7/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0
-L/opt/conda/lib/python3.7/site-packages/tensorflow -l:libtensorflow_framework.so.2
之后只需将变量 ${TF_CFLAGS[@]}
和 ${TF_LFLAGS[@]}
替换为上述输出
!g++ -std=c++11 -shared google-research/tf_trees/neural_trees_ops.cc google-research/tf_trees/neural_trees_kernels.cc google-research/tf_trees/neural_trees_helpers.cc -o google-research/tf_trees/neural_trees_ops.so -fPIC -I/opt/conda/lib/python3.7/site-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -L/opt/conda/lib/python3.7/site-packages/tensorflow -l:libtensorflow_framework.so.2 -O2
最后我们需要添加系统路径
import sys
sys.path.insert(1,'/kaggle/working/google-research')
并运行您的代码段
from tensorflow import keras
from tf_trees import TEL
tree_layer = TEL(output_logits_dim=2,trees_num=10,depth=3)
model = keras.Sequential()
model.add(keras.layers.BatchNormalization())
model.add(tree_layer)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。