python - 如何在 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)
推荐阅读
- ocaml - 找到没有重复的对列表的并集
- reactjs - 使用 Redux 和组件状态是个好主意吗?
- android - Android 在 Zebra 扫描仪上获取序列号
- npm - 有没有办法停止纱线最新版本检查?
- html - res ['casesbyState'] 出错,无法解决
- php - 添加带有披露的标签时无法使用复选框输入
- c++ - 切换以对所有情况执行相同的功能以及其中一种情况的单个打印语句
- dapper - Dapper 与 Oracle 给出 ORA-00936:缺少表达式错误
- r - 从单选按钮或闪亮/flexdashboard 中的自由文本输入
- r - 将此向量转换为对称矩阵的快速方法是什么?