fe41d05e7c8343ed53fc788d6c312792b390f679 |
|
16-May-2017 |
Asim Shankar <ashankar@google.com> |
Go: Keep errors in Go. Helps with #9931 - graph.go: Return a nil Operation if the operation creation failed. This ensures that accidental usage of the nil operation results in a panic/stacktrace purely in Go (nil pointer dereference) instead of a SIGSEGV in the underlying C API. - operation.go: Attempt to help in the developer find the root cause of the nil pointer dereference with a chattier panic message. PiperOrigin-RevId: 156220056
/external/tensorflow/tensorflow/go/operation.go
|
ccbc8991db3943ef984405881a1c917c530f902f |
|
05-Apr-2017 |
A. Unique TensorFlower <gardener@tensorflow.org> |
Merge changes from github. Change: 152200430
/external/tensorflow/tensorflow/go/operation.go
|
edc4dd62615b7e1ee7906f35099ed2e0a7d0a8ef |
|
09-Feb-2017 |
Asim Shankar <ashankar@google.com> |
Go: Add Output.DataType() Change: 147043532
/external/tensorflow/tensorflow/go/operation.go
|
c995ee586cfcce29a10b6e05140f1cc7c6c13a16 |
|
25-Jan-2017 |
Asim Shankar <ashankar@google.com> |
Go: Output.Shape now returns a Shape object. Output.Shape may be only partially known, hence the recently introduced Shape type is a more appropriate return value. Change: 145481782
/external/tensorflow/tensorflow/go/operation.go
|
8f6cb22c675b5c0b553334a8f04daef462905d69 |
|
16-Nov-2016 |
Jonathan Hseu <jhseu@google.com> |
Rename TF_Port to TF_Output and add a TF_Input type. Change: 139377074
/external/tensorflow/tensorflow/go/operation.go
|
47318618b24d493877668750f84d114179120ca5 |
|
14-Oct-2016 |
Asim Shankar <ashankar@google.com> |
go: Add Operation.OutputListSize This will be needed for generating the function wrappers for ops that produce a list of tensors as output. Another step towards #10 Change: 136191993
/external/tensorflow/tensorflow/go/operation.go
|
b5b1671163c90cf786fe0c65ca6754a85d017847 |
|
07-Oct-2016 |
Asim Shankar <ashankar@google.com> |
go: Introduce Graph.AddOperation to add operations to the Graph. Export an API to add operations to the graph. I also intend to use this API in a code generator that will generate Go sources files containing functions for each OpDef (and all this generated code will be in a separate package). While at it, also changed some tests to use the "sub-tests" feature in Go 1.7 (https://blog.golang.org/subtests) Another step in the journey of #10 Change: 135493412
/external/tensorflow/tensorflow/go/operation.go
|
7cacfdf03872c36cfc3f43e75e8c342234160e3a |
|
28-Sep-2016 |
Asim Shankar <ashankar@google.com> |
go: Add an example. Add an example (that will appear in Go doc) for a real use of the Go TensorFlow APIs - using a pre-defined image recognition model for inference. While at it a couple of minor tweaks: - NewSession now accepts 'nil' for options as the documentation says it does - Convenience accessors for the Outputs of an Operation - Ability to extract (possibly partial) shapes from an Output Another step towards #10 Change: 134560938
/external/tensorflow/tensorflow/go/operation.go
|
bb2aa864b335d18d8468d66cb3dd67203484e2d3 |
|
23-Sep-2016 |
Asim Shankar <ashankar@google.com> |
go: Prevent a Graph from being GCed while an Operation is alive. And also add trivial accessors for Name() and Type() to the Operation type. The lifetime of TF_Operation* objects is tied to the lifetime of the TF_Graph* that they come from in the C API. Prior to this commit, it was possible for the Go Graph object to be garbage collected even while the Operation object is still alive. The added test demonstrates this problem and fails with the following if the Operation type doesn't hold on to a reference to the Graph: === RUN TestOperationLifetime fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x80 addr=0x0 pc=0x886ebc4] runtime stack: runtime.throw(0xc73afc7, 0x2a) go/gc/src/runtime/panic.go:569 +0x9e runtime.sigpanic() go/gc/src/runtime/sigpanic_unix.go:12 +0x2cc goroutine 34 [syscall, locked to thread]: runtime.cgocall(0x7733410, 0xc420055e28, 0x0) go/gc/src/runtime/cgocall.go:131 +0x110 fp=0xc420055df8 sp=0xc420055db8 pc=0x75e64a0 tensorflow/go/tensorflow._Cfunc_TF_OperationName(0x7f4c9f59b790, 0x0) ??:0 +0x4a fp=0xc420055e28 sp=0xc420055df8 pc=0x764884a tensorflow/go/tensorflow.(*Operation).Name(0xc4201760c0, 0x0, 0x0) /build/work/c9dcfe7aa482d82c72c0b2b6c0351d7a/tensorflow/go/operation.go:32 +0x78 fp=0xc420055e70 sp=0xc420055e28 pc=0x7649248 tensorflow/go/tensorflow.TestOperationLifetime(0xc4201a00c0) tensorflow/go/operation_test.go:45 +0x7e fp=0xc420055f68 sp=0xc420055e70 pc=0x764409e testing.tRunner(0xc4201a00c0, 0xc748ed0) go/gc/src/testing/testing.go:610 +0x81 fp=0xc420055f90 sp=0xc420055f68 pc=0x76589a1 runtime.goexit() go/gc/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc420055f98 sp=0xc420055f90 pc=0x7642c91 created by testing.(*T).Run go/gc/src/testing/testing.go:646 +0x2ec This is yet another step towards #10 Change: 134086736
/external/tensorflow/tensorflow/go/operation.go
|
31e0b3bef5fa5e2108f8923633022bbd29b3d287 |
|
23-Aug-2016 |
Jonathan Hseu <jhseu@google.com> |
Rename Port to Output in the Go API. Change: 131089292
/external/tensorflow/tensorflow/go/operation.go
|
783c52edeb3c676937dbb97ed0d40958015050d6 |
|
23-Aug-2016 |
Jonathan Hseu <jhseu@google.com> |
Initial version of the Go API. The API is subject to change. Remaining work to do: - Generated ops. - Generated protocol buffers. - A few calls requiring protocol buffers aren't in this change. Change: 131066649
/external/tensorflow/tensorflow/go/operation.go
|