#python #tensorflow #keras #pip #kaggle
#python #tensorflow #keras #pip #kaggle
Вопрос:
Я хотел бы попробовать следующий код в 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)
Кажется, что tf_trees не может быть установлен с помощью !pip install
Я был бы признателен, если бы кто-нибудь мог предложить решение. Спасибо.
Итак: https://github.com/google-research/google-research/tree/master/tf_trees
Комментарии:
1. Не могли бы вы поделиться, почему метод установки, упомянутый на странице github, на которую вы ссылаетесь, не работает для вас?
2. Проблема в том, что упомянутые решения на GitHub не могут быть запущены в Kaggle Notebook.
Ответ №1:
сначала включите поддержку Интернета и клонируйте репозиторий google-research с github:
!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)
Комментарии:
1. Спасибо за ответ, теперь он работает у меня.