Commit e4060c0b authored by Fan Yang's avatar Fan Yang Committed by A. Unique TensorFlower
Browse files

Internal change

PiperOrigin-RevId: 428802917
parent 05972650
...@@ -35,14 +35,14 @@ input and return an `ExampleModel` instance, similar as ...@@ -35,14 +35,14 @@ input and return an `ExampleModel` instance, similar as
As a simple example, we define a single model. However, you can split the model As a simple example, we define a single model. However, you can split the model
implementation to individual components, such as backbones, decoders, heads, as implementation to individual components, such as backbones, decoders, heads, as
what we do what we do
[here](https://github.com/tensorflow/models/blob/master/official/vision/beta/modeling). [here](https://github.com/tensorflow/models/blob/master/official/vision/modeling).
And then in `build_example_model` function, you can hook up these components And then in `build_example_model` function, you can hook up these components
together to obtain your full model. together to obtain your full model.
## Create Dataloader ## Create Dataloader
A dataloader reads, decodes and parses the input data. We have created various A dataloader reads, decodes and parses the input data. We have created various
[dataloaders](https://github.com/tensorflow/models/blob/master/official/vision/beta/dataloaders) [dataloaders](https://github.com/tensorflow/models/blob/master/official/vision/dataloaders)
to handle standard input formats for classification, detection and segmentation. to handle standard input formats for classification, detection and segmentation.
If you have non-standard or complex data, you may want to create your own If you have non-standard or complex data, you may want to create your own
dataloader. It contains a `Decoder` and a `Parser`. dataloader. It contains a `Decoder` and a `Parser`.
...@@ -123,10 +123,10 @@ together and is called by the base ...@@ -123,10 +123,10 @@ together and is called by the base
You can create your own task by inheriting from base You can create your own task by inheriting from base
[Task](https://github.com/tensorflow/models/blob/master/official/core/base_task.py), [Task](https://github.com/tensorflow/models/blob/master/official/core/base_task.py),
or from one of the or from one of the
[tasks](https://github.com/tensorflow/models/blob/master/official/vision/beta/tasks/) [tasks](https://github.com/tensorflow/models/blob/master/official/vision/tasks/)
we already defined, if most of the operations can be reused. An `ExampleTask` we already defined, if most of the operations can be reused. An `ExampleTask`
inheriting from inheriting from
[ImageClassificationTask](https://github.com/tensorflow/models/blob/master/official/vision/beta/tasks/image_classification.py#L32) [ImageClassificationTask](https://github.com/tensorflow/models/blob/master/official/vision/tasks/image_classification.py#L32)
can be found can be found
[here](example_task.py). [here](example_task.py).
We will go through each important components in the task in the following. We will go through each important components in the task in the following.
...@@ -175,7 +175,7 @@ from official.vision.beta.projects.example import example_task ...@@ -175,7 +175,7 @@ from official.vision.beta.projects.example import example_task
## Training ## Training
You can create your own trainer by branching from our core You can create your own trainer by branching from our core
[trainer](https://github.com/tensorflow/models/blob/master/official/vision/beta/train.py). [trainer](https://github.com/tensorflow/models/blob/master/official/vision/train.py).
Just make sure you import the registry like this: Just make sure you import the registry like this:
```python ```python
...@@ -185,7 +185,7 @@ from official.vision.beta.projects.example import registry_imports # pylint: di ...@@ -185,7 +185,7 @@ from official.vision.beta.projects.example import registry_imports # pylint: di
You can run training locally for testing purpose: You can run training locally for testing purpose:
```bash ```bash
# Assume you are under official/vision/beta/projects. # Assume you are under official/vision/projects.
python3 example/train.py \ python3 example/train.py \
--experiment=tf_vision_example_experiment \ --experiment=tf_vision_example_experiment \
--config_file=${PWD}/example/example_config_local.yaml \ --config_file=${PWD}/example/example_config_local.yaml \
...@@ -210,5 +210,5 @@ python3 example/train.py \ ...@@ -210,5 +210,5 @@ python3 example/train.py \
--mode=train \ --mode=train \
--tpu=$TPU_NAME \ --tpu=$TPU_NAME \
--model_dir=/tmp/tfvision_test/ --model_dir=/tmp/tfvision_test/
--config_file=third_party/tensorflow_models/official/vision/beta/projects/example/example_config_tpu.yaml --config_file=third_party/tensorflow_models/official/vision/examples/starter/example_config_tpu.yaml
``` ```
...@@ -13,9 +13,8 @@ ...@@ -13,9 +13,8 @@
# limitations under the License. # limitations under the License.
"""Example experiment configuration definition.""" """Example experiment configuration definition."""
from typing import List
import dataclasses import dataclasses
from typing import List
from official.core import config_definitions as cfg from official.core import config_definitions as cfg
from official.core import exp_factory from official.core import exp_factory
......
...@@ -22,9 +22,9 @@ from typing import Mapping, List, Tuple ...@@ -22,9 +22,9 @@ from typing import Mapping, List, Tuple
# Import libraries # Import libraries
import tensorflow as tf import tensorflow as tf
from official.vision.beta.dataloaders import decoder from official.vision.dataloaders import decoder
from official.vision.beta.dataloaders import parser from official.vision.dataloaders import parser
from official.vision.beta.ops import preprocess_ops from official.vision.ops import preprocess_ops
MEAN_RGB = (0.485 * 255, 0.456 * 255, 0.406 * 255) MEAN_RGB = (0.485 * 255, 0.456 * 255, 0.406 * 255)
STDDEV_RGB = (0.229 * 255, 0.224 * 255, 0.225 * 255) STDDEV_RGB = (0.229 * 255, 0.224 * 255, 0.225 * 255)
......
...@@ -22,7 +22,7 @@ directly used from `official/vision/beta/modeling` directory. ...@@ -22,7 +22,7 @@ directly used from `official/vision/beta/modeling` directory.
from typing import Any, Mapping from typing import Any, Mapping
# Import libraries # Import libraries
import tensorflow as tf import tensorflow as tf
from official.vision.beta.projects.example import example_config as example_cfg from official.vision.examples.starter import example_config as example_cfg
class ExampleModel(tf.keras.Model): class ExampleModel(tf.keras.Model):
......
...@@ -21,10 +21,10 @@ from official.common import dataset_fn ...@@ -21,10 +21,10 @@ from official.common import dataset_fn
from official.core import base_task from official.core import base_task
from official.core import task_factory from official.core import task_factory
from official.modeling import tf_utils from official.modeling import tf_utils
from official.vision.beta.dataloaders import input_reader_factory from official.vision.dataloaders import input_reader_factory
from official.vision.beta.projects.example import example_config as exp_cfg from official.vision.examples.starter import example_config as exp_cfg
from official.vision.beta.projects.example import example_input from official.vision.examples.starter import example_input
from official.vision.beta.projects.example import example_model from official.vision.examples.starter import example_model
@task_factory.register_task_cls(exp_cfg.ExampleTask) @task_factory.register_task_cls(exp_cfg.ExampleTask)
......
...@@ -21,7 +21,7 @@ to handle each file separately. ...@@ -21,7 +21,7 @@ to handle each file separately.
# pylint: disable=unused-import # pylint: disable=unused-import
from official.common import registry_imports from official.common import registry_imports
from official.vision.beta.projects.example import example_config from official.vision.examples.starter import example_config
from official.vision.beta.projects.example import example_input from official.vision.examples.starter import example_input
from official.vision.beta.projects.example import example_model from official.vision.examples.starter import example_model
from official.vision.beta.projects.example import example_task from official.vision.examples.starter import example_task
...@@ -22,7 +22,7 @@ from absl import app ...@@ -22,7 +22,7 @@ from absl import app
from official.common import flags as tfm_flags from official.common import flags as tfm_flags
from official.vision.beta import train from official.vision.beta import train
from official.vision.beta.projects.example import registry_imports # pylint: disable=unused-import from official.vision.examples.starter import registry_imports # pylint: disable=unused-import
if __name__ == '__main__': if __name__ == '__main__':
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment