| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/bash
- set -e
- root=$(cd $(dirname ${0})/..; pwd)
- build=${root}/build
- node_modules=${root}/node_modules
- src=${root}/src
- tools=${root}/tools
- third_party=${root}/third_party
- python=${python:-python}
- pip=${pip:-pip}
- identifier=tensorflow
- repository=https://github.com/tensorflow/${identifier}.git
- mkdir -p ${third_party}
- if [ -d "${third_party}/${identifier}" ]; then
- git -C "${third_party}/${identifier}" fetch -p
- git -C "${third_party}/${identifier}" reset --hard origin/master
- else
- echo "Clone ${repository}..."
- git -C "${third_party}" clone --recursive ${repository}
- fi
- echo "Generate '../src/tf.js'"
- ${node_modules}/protobufjs/bin/pbjs -t static-module -w closure -r tf -o ${src}/tf.js \
- ${third_party}/${identifier}/tensorflow/core/protobuf/saved_model.proto \
- ${third_party}/${identifier}/tensorflow/core/protobuf/meta_graph.proto \
- ${third_party}/${identifier}/tensorflow/core/protobuf/saver.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/graph.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/op_def.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/tensor_shape.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/types.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/node_def.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/versions.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/function.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/attr_value.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/tensor.proto \
- ${third_party}/${identifier}/tensorflow/core/framework/resource_handle.proto \
- export PYTHONUSERBASE=${build}/third_party/pypi/${identifier}
- export PATH=$PATH:${PYTHONUSERBASE}/bin
- echo $PYTHONUSERBASE
- rm -rf ${PYTHONUSERBASE}
- ${pip} install --user protobuf
- echo "Generate '../src/tf-metadata.json'"
- protoc --proto_path ${third_party}/${identifier} tensorflow/core/framework/attr_value.proto --python_out=${tools}
- protoc --proto_path ${third_party}/${identifier} tensorflow/core/framework/tensor.proto --python_out=${tools}
- protoc --proto_path ${third_party}/${identifier} tensorflow/core/framework/types.proto --python_out=${tools}
- protoc --proto_path ${third_party}/${identifier} tensorflow/core/framework/tensor_shape.proto --python_out=${tools}
- protoc --proto_path ${third_party}/${identifier} tensorflow/core/framework/resource_handle.proto --python_out=${tools}
- protoc --proto_path ${third_party}/${identifier} tensorflow/core/framework/api_def.proto --python_out=${tools}
- protoc --proto_path ${third_party}/${identifier} tensorflow/core/framework/op_def.proto --python_out=${tools}
- touch ${tools}/tensorflow/__init__.py
- touch ${tools}/tensorflow/core/__init__.py
- touch ${tools}/tensorflow/core/framework/__init__.py
- pushd ${tools} > /dev/null
- ${python} tf-metadata.py
- popd > /dev/null
- rm -rf ${tools}/tensorflow
|