text:
release: v0.8.0

Description: 概要

Changes: 変更内容

Changes

feat: add tag feature (closes #88) (394eeaa127b24b798ccda6f546679cba35790b23)
feat: add tags page (bf8aaef5e57dead6a543649d1c9080efdcc5a0c2)
feat: implement tags (261246924f4b5fb5270e4f3fd9e5191477d32b18)
feat: add tag to article page (59de775f4fca27b3d6e5eff952e3024bd6c2d614)
feat: add tags to list page (3b2a83eb5f8f54913e65f445daa99c5fe8c92af7)
fix: tags to post detail (e5f74612dbb14cff03da9d2612ed1eb36257b2c8)
fix: eslint (0652f56087b8323a67b1bd62de259abd872b42ff)
fix: display tag name (bba3106403c0488f5727b6515932b52d126e234d)
fix: type errors (a671ab644f68f0d8cfe04eb529974bb8aee75f2f)
chore: tweaks (58bfd8d3e91cb55b6089d43c3e1318f357082729, b200f873e12a193a884360d98eeb459c7bf3cc7d, dd9fee991c23001a3955d928e942b1c4fac77fa2)
chore: add tags to post entity (5f6c1911b4d244e95de4a671afc131fe03517592)
chore: add tag chip component (7595f17dda792e6bad7005cc1dbf9f30a6b26da1)
chore: update snapshots (ba00a27292b8eb32dd0f6c7ed102a75550169f4d, ca2518e8003c37cc40effbcc272bfb48b372b591)

Expected Impact: 影響範囲

Operating Requirements: 動作要件

Additional context: 補足

Codecov Report

Merging #96 (eacea39) into main (b12fb2d) will decrease coverage by 1.54%.
The diff coverage is 16.07%.

:exclamation: Current head eacea39 differs from pull request most recent head ebe8090. Consider uploading reports for the commit ebe8090 to get more accurate results

@@            Coverage Diff             @@
##             main      #96      +/-   ##
==========================================
- Coverage   41.27%   39.73%   -1.55%
==========================================
  Files         141      150       +9
  Lines        1141     1228      +87
  Branches      202      221      +19
==========================================
+ Hits          471      488      +17
- Misses        648      718      +70
  Partials       22       22

Impacted Files
Coverage Δ

src/components/wrap.ts
100.00% <ø> (ø)

src/config/registry.server.ts
0.00% <0.00%> (ø)

src/config/registry.shared.ts
0.00% <0.00%> (ø)

src/packages/domain/post/dto/postDetail.ts
0.00% <0.00%> (ø)

src/packages/domain/post/dto/tag.ts
0.00% <0.00%> (ø)

src/packages/domain/post/entity/post.ts
0.00% <ø> (ø)

src/packages/domain/post/entity/postDetail.ts
0.00% <0.00%> (ø)

src/packages/domain/post/entity/tag.ts
0.00% <0.00%> (ø)

src/packages/domain/post/valueObject/name.ts
0.00% <0.00%> (ø)

src/packages/domain/post/valueObject/slug.ts
0.00% <0.00%> (ø)

... and 21 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b12fb2d...ebe8090. Read the comment docs.

source: gharchive/pull-request

repo: technote-space/nextjs-blog

license: MIT

license_type: permissive

license_source: github-api


text:
CentOS 6 i686,libreswan install failed

CentOS 6 i686

您好，您的邮件已收到，我将尽快回复您。如是删除信息，我们将在5个工作日内处理，请尽量使用密码删除信息，如预留邮箱，可自助找回密码，不便之处敬请谅解。------------------------------本邮件为自动回复，谢谢！

source: gharchive/issue

repo: teddysun/across

license_source: bigquery


text:
Use of unicode and basestring

These two names are used often in tmt.utils, e.g. here: https://github.com/teemtee/tmt/blob/main/tmt/utils.py#L617
IIUIC, these are used mostly thanks to from where the code comes, but actually, they have no effect at all: every time isinstance(text, unicode) attempts to run, raises an exception. Code is guarded against this kind of behavior, making both basestring and unicode presence in code pointless, complicating the reasoning about how code behaves. It's not a serious issue, but it makes the addition of type annotations more complicated than it needs to be.
So, unless there's a reason for keeping them around, I'd propose getting rid of basestring and unicode, simplifying the related code. I can submit a patch, seeking blessing of developers more familiar with the code - @psss, @lukaszachy, @thrix?

@happz makes sense to me, but I would wait for @psss, as I guess this part of code was added for a reason?

@happz makes sense to me, but I would wait for @psss, as I guess this part of code was added for a reason?

Definitely for a reason, but my impression was it's more of a copy & paste issue, to bootstrap functionality (it's a structured field implementation). TMT does not support running on top of Python 2, and these classes simply don't exist in Python 3, therefore this Python 2 code that did play important role in places the code came from isn't necessary for the TMT codebase.
No worries, I'm not touching anything, yet :)

Yes, these are mostly leftovers from the StructuredField implementation. It should be safe to remove them as tmt is Python 3 only.

authors: happz psss thrix

repo: teemtee/tmt


text:
Add new examples to overwrite the inheritance problem

The examples code block from spec/plans/main.fmf
is being wrongly inherited by some of the specs. Adding
new examples blocks to avoid this problem.
Pull Request Checklist

[x] update the specification

The same idea needs to be implemented for the discover specification where the same happens and perhaps in the execute as well. The point is that using the same approach will erase the full spec from the documentation. So my guess is that further modifications (still unknown to me) are needed for both cases.

Spec change only, merging.

authors: mcasquer psss


text:
Karabiner doesnt work for me  + Pressed key log msg

My key presses show up in karabiner-eventviewer and I think my JSON is setup up correctly.  could this have to do with previously using karabiner or perhaps from my spacebar legitimately being broken? all help is appreciated!
I also have this msg scrolling in the log:
[2016-09-24 00:20:36.057] [grabber] [warning] There are pressed down keys in Apple Internal Keyboard / Trackpad. Please release them.
{
    "profiles": [
        {
            "name": "Default profile",
            "selected": true,
            "simple_modifications": {
                "right_alt": "spacebar",
                "right_option": "spacebar",
                "right_gui": "spacebar",
                "right_command": "spacebar"

            }
        }
    ]
}

I believe this issue has been fixed in the latest version.

authors: jacobkaucher tekezo

repo: tekezo/Karabiner-Elements

license: unlicense


text:
Ctrl+Shit+Power still doesn't work

Version 0.90.67 fixed this issue on built-in keyboard.
However it is still not working with external original Apple Bluetooth Keyboard.

Same issue here but with original usb keyboard with numeric keypad.
OS X Sierra and karabiner-elements 0.90.67

{
    "profiles": [
        {
            "name": "Default profile",
            "selected": true,
            "simple_modifications": {
                "caps_lock": "left_control"
            },
            "standalone_keys": {
                "left_control": "escape"
            }
        }
    ]
}

With this config I have the same issue: can't use ctrl+shift+power or cmd+option+power

Oops. Ctrl–Shift–Power works well, but Ctrl–Shift–Eject or Option-Command-Eject doesn't. As I see in Karabiner-EventViewer, Eject isn't tracking by Karabiner. Am I right?

same.  i have a mac mini with an apple usb+numpad keyboard.  it has eject.  with K-E running, i can't Ctrl-Shift-Eject to lock screen.
Eject shows in event viewer as "SysKey(Up|Down)" "0xE" and has no Name.
is this as simple maybe as assigning a Name to the key?

Ctrl–Shift–Eject doesn't work on iMac 2015!

This problem has been well documented in #46 and #89 . Can we close this issue?

CTRL-💩 -POWER?

authors: JesseLeite brianweber13 jrrs kubofonista vaxXxa vomchik zbikmarc


text:
"Duplicate profile" button

I have two external keyboards (one is Apple, other is PC). The modifications I want are ALMOST the same, but differ a bit (switching Cmd and Opt; somehow it doesn't work in System Settings).
It will take long to click through all the settings in a new profile.
Can we have a "Duplicate profile" button near the "Add profile"?

I just found myself in the same situation.
Are there any guidelines for contribution? I think this is within my current abilities!

I ended up duplicating a configuration on a file level.

authors: NinoScript singalen


text:
set keyboard_type (ansi, iso, jis) function implemented.

Hello Mr. takezo,
Thank you for your very convenient tool. I'm using your tool since KeyRemap4MacBook.
I encountered a problem that my JIS keyboard wrongly recognized as ANSI keyboard. I was using this keyboard with Karabiner's __SetKeyboardType__ KeyboardType::JIS_MACBOOK_2008 option. So I implemented almost same function on Karabiner-Element, and I confirmed it works in my case.
It seems keyboard layout problem is common, so I think this modification may be useful for other people too. If you think this modification is appropriate, please merge this into your source tree.

Modified Preferences App

karabiner.json

probably related issues

JIS external keyboard recognized as US (ASCII) keyboard after v0.90.47 #278
Built-in and external keyboard differs #229
Wrong keyboard layout used (english, instead of german) #323

Thank you,

Thank you very much

Thanks!
I'll check your changes and include it to next release.

I've merged this changes at Karabiner-Elements v0.90.61.

Sorry for my late reply.
Thank you for your work for merging. New icons are cute and space-saving.
I'm glad that my code merged to such a great tool.
Thank you,

authors: dcato tekezo yishanhome


text:
Tekton API Reference

Currently a lot of our doc is examples that do not necessarily reflect all the dark corners of our API. It might be time to craft or generate open API for everything and add a reference API section to our doc.
Something like -- https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.15/

Yes, it would be very useful.

Going to close this as a duplicate of https://github.com/tektoncd/pipeline/issues/2055 which has an open PR against it currently and covers the same thing

I'm going to reopen this one since #2055 ended up in a closed state. If I remember right, though I can't find the specific PR, we decided that a static description of the API wasn't enough and that we wanted to be able to regenerate the API documentation.  This issue describes that requirement a bit more clearly than #2055 so I'm calling this one the source of truth.  Happy to switch it around again if others prefer.

I've created a new milestone for 0.16 and tentatively put this in there to be discussed for inclusion.

Ref: https://github.com/tektoncd/pipeline/pull/3081 -- starts documenting our API using Open API

We need to publish the generated OpenAPI specs to the website.

https://github.com/tektoncd/website/issues/194

hey @afrittoli is there anything outstanding from pipeline perspective with API Spec? this is part of 0.18 and checking what is left with this feature 🙏

The missing bit is publishing it to the website.
tektoncd/website#194
I've been working on it but I don't think it'll be ready today. I'll try to finish in time.

thank you @afrittoli 🙏

this is being tracked in tektoncd/website#117

Remaining work: once tektoncd/website#117 is done, put a link to the API reference in this repo.

Remaining work: once tektoncd/website#117 is done, put a link to the API reference in this repo.

Still requires https://github.com/tektoncd/website/issues/117
/remove-lifecycle stale

/lifecycle frozen

Currently a lot of our doc is examples that do not necessarily reflect all the dark corners of our API. It might be time to craft or generate open API for everything and add a reference API section to our doc.
Something like -- https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.15/

seems inaccessible. any equivalent link?

Currently a lot of our doc is examples that do not necessarily reflect all the dark corners of our API. It might be time to craft or generate open API for everything and add a reference API section to our doc.
Something like -- https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.15/

seems inaccessible. any equivalent link?

Perhaps https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/ which also points to the OpenAPI Specs at https://github.com/kubernetes/kubernetes/blob/release-1.23/api/openapi-spec/swagger.json

So #4494 is done - I'm not sure what needs to be done on the website side to have it pick up https://github.com/tektoncd/pipeline/blob/main/docs/pipeline-api.md and link to it?

I think this issue can be closed and the website changes can be tracked in https://github.com/tektoncd/website/issues/363

authors: 06kellyjac abayer afrittoli bobcatfish dibyom duanshiqiang lbernick mostafa-eltaher prashant-juluri pritidesai sbwsg skaegi vdemeester

repo: tektoncd/pipeline


text:
Update v1beta1 condition examples

The three v1beta1 examples for conditional pipeline runs should be updated to use v1beta1 Conditions.

@drewbutlerbb4 Condition, as PipelineResource are not in v1beta1 (at least yet). We felt those part of the API weren't beta quality, hence they are staying in alpha for now — aka not "supported". That said, they can still be "referered" in the v1beta1 resources

Per vdemeester's comment just now, conditions haven't moved over to beta.  I'm going to close this issue as the examples are working as expected right now.  Feel free to reopen if there's more to do here though!

authors: drewbutlerbb4 sbwsg vdemeester


text:
Duplicate 'pipelinerun.successful' cloudevent

Expected Behavior
A single 'dev.tekton.event.pipelinerun.successful.v1' event after a successfull pipelinerun.
Actual Behavior
Two 'dev.tekton.event.pipelinerun.successful.v1' events with different id's and different timestamps referencing the same run:
First:
"ce-type": "dev.tekton.event.pipelinerun.successful.v1"
"ce-time": "2020-10-06T05:19:26.898238287Z",
"ce-subject": "tekton-builds-wwu-p2v8b-r-7bgc4",
"ce-id": "c7a26faa-a825-4a0f-8c2d-9ce192a9a5b8",
"ce-source": "/apis/tekton.dev/v1beta1/namespaces/tekton-builds/pipelineruns/tekton-builds-wwu-p2v8b-r-7bgc4",
Second:
"ce-type": "dev.tekton.event.pipelinerun.successful.v1",
"ce-time": "2020-10-06T05:19:26.952135384Z",
"ce-subject": "tekton-builds-wwu-p2v8b-r-7bgc4",
"ce-id": "fe652d4a-53fc-4bd7-9bbc-cc41f6953f86",
"ce-source": "/apis/tekton.dev/v1beta1/namespaces/tekton-builds/pipelineruns/tekton-builds-wwu-p2v8b-r-7bgc4",
Steps to Reproduce the Problem

Create a Listener for the CloudEvents
Filter for header.match('ce-type', 'dev.tekton.event.pipelinerun.successful.v1')
Log the invocations

Additional Info

Kubernetes version:

Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T21:51:49Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:04:18Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

Tekton Pipeline version:

Client version: 0.12.1
Pipeline version: v0.16.3
Triggers version: v0.8.1

Hello @wwu-cx, thanks for this bug report.
I was able to reproduce the issue and I'm working on a fix

authors: afrittoli wwu-cx


text:
Build tekton pipelines with golang 1.17

Changes
Update the tekton pipelines docker files and build pipeline to build
using golang 1.17.7:

The windows base images are now built using golang:1.17.7 official
docker image
The non-windows bases images are based on distroless and need to
update. We now reference the docker-buildx base image by sha instead
of tag which is better for attestation
Controller images, entrypoint and pipeline resource images are built
using ko. Updating the ko image in the publish task to one that
includes golang 1.17.7 (golang:1.17.7-alpine3.15). Reference the ko
image by sha instead of tag. This will require an extra step to
update the image in future (plumbing first, pipeline then) but it's
best for attestations and also it allows updating the image on
plumbing side and in the registry without direct side effect on
pipeline.

Signed-off-by: Andrea Frittoli andrea.frittoli@uk.ibm.com
/kind misc
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Docs included if any changes are user facing
[x] Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes
Tekton Pipeline is built with golang 1.17.7

/hold


text:
Skip TLS certificate verification for e2e

Changes
Allows the test to skip TLS verification when it's not possible to produce valid certificates. In case it is required to run the e2e test against tekton-results service exposed.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you review them:

[ ] Has Docs included if any changes are user facing
[ ] Has Tests included if any functionality added or changed
[x] Tested your changes locally (if this is a code change)
[x] Follows the commit message standard
[ ] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user-facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[ ] Release notes contain the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

/lgtm

authors: enarha sayan-biswas

repo: tektoncd/results


text:
Flake8 ignore list for Black compatibility

Flake8 raises a warning for "E203" when it encounters a Black decision to insert whitespace before : in slicing syntax.
Black's behaviour is more correct here, so my suggestion is to add "E203" to the flake8 config ignore list.
i.e. in setup.cfg:
[flake8]
...
extend-ignore = E203

I will change that. Thanks @twolffpiggott

@twolffpiggott I see you change that in PR #39

@twolffpiggott I see you change that in PR #39

Yes, I needed to bring it in in order to satisfy the formatting tests

authors: PhilipMay twolffpiggott

repo: telekom/HPOflow


text:
xmake

🙋 Feature Request
https://xmake.io/#/guide/project_examples?id=quick-application

https://gitter.im/xmake-io/xmake
set_languages('cxx14')

add_ldflags('-undefined dynamic_lookup')

target('demo')
set_filename('demo.node')

set_kind('binary')

--add node.js headers
add_includedirs(os.getenv('NODE_HEADERS'))

add_files('$(projectdir)/src/*.cpp')

repo: templ-project/node-addon-nan


text:
🛑 Secret Site2 is down

In f613cb9, Secret Site2 ($SECRET_SITE_2) was down:

HTTP code: 404
Response time: 98 ms

Resolved: Secret Site2 is back up in ded3eec after 3 hours, 23 minutes.

repo: templain/mywatcher


text:
🛑 QRCODE VIEWER is down

In c4021cf, QRCODE VIEWER (https://qrcode-viewer.azurewebsites.net/qrcode-viewer/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: QRCODE VIEWER is back up in 7da7b49 after 9 minutes.


text:
🛑 OBOERU is down

In 89e8263, OBOERU ($SECRET_SITE_OBOERU) was down:

HTTP code: 0
Response time: 0 ms

Resolved: OBOERU is back up in 3b4e6b1 after 18 minutes.


text:
🛑 MYSITE2 is down

In 1139b13, MYSITE2 ($SECRET_SITE_OBOERU) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MYSITE2 is back up in c750672 after 9 minutes.


text:
StyleCI Broken

The user the enabled StyleCI is no longer an admin on GitHub, so StyleCI is broken.

Or, at least something's broken. GitHub's returning 404s at our end, indicating lacking permission.

Can u explain more plz

I was hoping you'd know what you'd changed. GitHub is returning a 404 for us.

Danm

authors: GrahamCampbell Tjoosten

repo: template-hop/scouts-en-gidsen-template


text:
Pass the DB_PORT in case of mysql

It seems like the variable DB_PORT isn't passed to temporal-sql-tool when the DB is mysql.

What was changed

Why?

Checklist

Closes

How was this tested:

Any docs updates needed?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks!

authors: CLAassistant aybabtme robholland

repo: temporalio/docker-builds


text:
[Bug] Incorrect Reference to a Helm Value Causing a Nil Pointer Error

What are you really trying to do?
I am trying to install version 0.53.0 of the Helm chart.
Describe the bug
When I install version 0.53.0 of the Helm chart, I get this error:
Error: template: temporal/templates/server-job.yaml:148:40: executing "temporal/templates/server-job.yaml" at <.Values.server>: nil pointer evaluating interface {}.server

Upon investigation, I found that in the Helm chart (temporal/templates/server-job.yaml:148:40), there is an attempt to access a global object (server) from the local scope (in this case, within a range), using the local context expression .Values.server. However, in our case (due to the local scope change within the range), .Values.server no longer behaves as expected, because the context has been altered by Helm.
Minimal Reproduction
Install version 0.53.0 of the Helm chart with namespace creation enabled :
helm upgrade --install temporal-release temporal --repo https://go.temporal.io/helm-charts  --version 0.53.0 --set server.config.namespaces.create=true

# Error: template: temporal/templates/server-job.yaml:148:40: executing "temporal/templates/server-job.yaml" at <.Values.server>: nil pointer evaluating interface {}.server

Environment/Versions

Kind Version : kind v0.26.0 go1.23.4 darwin/arm64
Kubernetes Server Version : v1.32.0
Helm Version : v3.15.3
Temporal Helm Chart Version: 0.53.0

Additional context

I have reproduced the problem and confirmed this this PR resolves it. Thank you for your contribution, @nzuguem!

authors: nzuguem tomwheeler

repo: temporalio/helm-charts


text:
Improve performance of slow queries

We have a few requests that take way more than they should:

get list of countries (/tenders/countries)
get list of cpvs (/tenders/cpvs)
get node details (/networks/{networkID}/nodes/{nodeID}

Investigate why they take so long. Obv some of the assumptions on which I based these queries are wrong.

Network details speed improvements:

total request time for bidder with 8 bids: 25 sec
getting the node details from db: 1.2 secSELECT set(@rid).size() as numberOfWinningBids,
  sum(price.netAmountEur) as amountOfMoneyExchanged,
  list(price.netAmountEur).size() as numberOfAvailablePrices,
  set(@rid) as bidRIDs
    FROM (
      SELECT *
      FROM Bid
      WHERE xCountry in ['CZ'] AND xYear in [2015] AND out('AppliedTo').in('Comprises').out('HasCPV').code in ['16700000']
      AND in('Participates').id in ['bb25de5c-e4b4-408a-a7d7-382fa0ee2e2f']
      AND isWinning=true
    );

getting the bidders of the bid: 4.337 secSELECT expand(in('Participates')) FROM Bid where @rid='#91:48440';

getting things by @rid seems super slow: 4.3 secSELECT FROM Bid where @rid='#91:48440';

Possible solutions:

#67
use an internal id for bid and lot just to have an index to use instead of rid

Get countries speed improv:
Even though we have an index on xCountry, ODB doesn't use that to compute distinct(xCountry). It reads all the bids so it ends up being  very slow (5.9 sec).
If I add a filter by year  to use the xYear index, the speed increases dramatically:

Same issue with getting list of years.
Possible solutions:

open an issue to ODB GH about this since it's a pretty big problem
in the meantime try to use the Bid.xCountry index directly from the code to compute the distinct

The changes in #84 have brought significant improvements to some queries.
For example getting cpvs by country https://dev.api.tenders.exposed/tenders/cpvs?countries=RO was brought down from 12 sec to 5.3 sec. Of course, 5.3 sec is still a lot but I haven't been able to identify why the cpvs query still takes so long.
Run in OrientDB 3.0 the same cpvs query is tremendously faster, topping at 0.070 sec but unfortunately we can't switch to that version yet because of  orientechnologies/orientjs#304

For /tenders/countries and /tenders/years the indexes on xCountry and xYear are not used to calculate distinct(). I tried to access the values directly from the index as described here but nothing is returned.
I opened orientechnologies/orientdb#8169 for this since it would be a great improvement but I don't have my hopes too high since ODB 2 is no longer the main focus.
In ODB 3 the same query we use now runs a lot faster: 0.435 sec as opposed to 5.9 sec in ODB 2.

I will move this back to backlog and come back to it later when there are updates on ODB 3.

repo: tenders-exposed/elvis-backend-node


text:
Unable to save model that contains a tf hub module

Hello, I am bumping into issues when trying to save a model that contains a TF Hub Module. Here is an examples that I would expect to work, but instead raises an exception:
import tensorflow as tf
import tensorflow_hub as hub

from tensorflow.keras.models import Model
from tensorflow.keras import Input
from tensorflow.keras.layers import LSTM, Dense, Lambda

sess = tf.compat.v1.Session()
tf.compat.v1.keras.backend.set_session(sess)
tf.compat.v1.disable_eager_execution()

# random number, not important for this example
n_tags = 17
max_len = 50
batch_size = 32

elmo_model = hub.Module("https://tfhub.dev/google/elmo/2", trainable=True)

def ElmoEmbedding(x):
    return elmo_model(inputs={"tokens": tf.squeeze(tf.cast(x, tf.string)),
                              "sequence_len": tf.constant(
                                  batch_size * [max_len])
                              },
                      signature="tokens",
                      as_dict=True)["elmo"]

input_text = Input(shape=(max_len,), dtype=tf.string)
embedding = Lambda(ElmoEmbedding, output_shape=(max_len, 1024))(input_text)
x = LSTM(units=512, return_sequences=True, recurrent_dropout=0.2,
                       dropout=0.2)(embedding)
out = Dense(n_tags, activation="softmax")(x)

model = Model(input_text, out)
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy")

model.save("saved_model")

I would expect for the model to be saved under the directory saved_model, but instead the following error is raised: "tensorflow_hub/module.py", line 245, in __call__: RuntimeError: Module must be applied in the graph it was instantiated for.
So, for some reason, the condition self._graph is not tf_v1.get_default_graph() fails.
My understanding (from https://www.tensorflow.org/hub/tf2_saved_model) is that TF Hub models are all SavedModels, so I don't understand why saving a model that encapsulates a TF Hub model does not work. I am sure I am missing something. It would be great if someone could shed some light on this, as this is super critical for what we are trying to accomplish. Thanks!

Current Environment:

Python v3.6.9
tensorflow==2.1.0
tensorflow-hub==0.7.0

@StefanoFioravanzo,
The model you are trying to load is not compatible with TF 2.0. You can check for version compatibility  in the change log in this TF Hub Link. Screenshot of the same is given below.

Could you please try loading the model in TF 1.x. I was able to load the model with TF 1.15 without any issues. Please check the gist of it here. Thanks!

Hello @amahendrakar , thank you for the response!
So, I tried to save the model using tf=1.15 and it works, because it defaults to using the h5 save format. But, for this reason, when loading the module in another context, I get the error NameError: name 'elmo_model' is not defined
I guess that this is expected, as the elmo_model object is not serialised in the h5 file. When I try to save the model using the tf format, then I get the usual error: Module must be applied in the graph it was instantiated for.
Is there a way to save the model in a self contained way, in order to load it in another context without having to re-define the elmo_model object?
Is the answer to the previous question is no, then:

Will the conversion of the elmo model to TF2, and thus saving it with the tf file format, solve this?
If the above is yes, is there a roadmap for converting the model to TF2?

Thank you very much

Was able to reproduce the issue. Please find the Gist here. Thanks!

@amahendrakar So is this a bug that can be fixed? Is there any workaround? Can you give me a bit more context as to why this error is happening and, possibly, how it can be solved? Will the support to TF2 solve the issue? Thank you very much

@StefanoFioravanzo, I faced no problem in saving and loading model. Link of gist is here

@khimraj The issue arises when you try to load the model in a different context. For example, try to save the model in one script and the load it in another one.  Then the load model will fail because elmo_model is not defined.
See the above message by @amahendrakar, who reproduced it here.

@StefanoFioravanzo,  Approach to load a model when a custom object requires additional attribute custom_objects. I have successfully loaded model. For your reference link of gist is here.
Hope it helps.

@khimraj So there is not way at all to save the model and load it in another context without having to redefine the ElmoEmbedding function, basically having the saved model be a self contained package that can be loaded anywhere? Is this a current limitation of Tensorflow that could be solved in the future? Or is it the elmo model's fault, given that it does not support TF2 (as stated above?)
I would love to understand why redefining this function (ElmoEmbedding) is really needed. Thank you!

@StefanoFioravanzo, You can say it is limitation of tensorflow. It is not specific to elmo model as it is same for all model having any custom object. Basically tensorflow saves the name of the function. So Whenever you load model, you'll need to provide a dictionary that maps function name to the actual function.

@khimraj Interesting, thank you very much. So, do you think that this limitation is sort of "definitive" in the TF design, or is there any plan to solve this? I.e. have tensorflow save these external functions (or whatever else it might be) alongside the rest of the model?

@khimraj Hello, do you think it is possible to get references to the custom objects of a model programmatically? Say I wanted to know that ElmoEmbedding will not be saved alongside the model and that at load time that object will have to be specified in the custom_objects field. Is there a way to introspect the model to get this information before saving?

@StefanoFioravanzo, I am not aware about getting references to the custom objects of a model programmatically. You have to specify all your custom object(user defined). Another approach to save model is use save_weights() and load_weights() in which you do not require to define custom object again. For your reference link of gist is here.
Hope it helps you.

authors: StefanoFioravanzo amahendrakar khimraj

repo: tensorflow/hub


text:
tf.train.batch and shuffle_batch undetermined for multi queue input with multiple threads

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
Custom code, see below.

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
OSX

TensorFlow installed from (source or binary):
pip install tensorflow == 1.2

TensorFlow version (use command below):
('v1.2.0-rc2-21-g12f033d', '1.2.0')

Python version:
Python 2.7.10

Bazel version (if compiling from source):
n/a

CUDA/cuDNN version:
n/a

GPU model and memory:
n/a

Exact command to reproduce:

a_fifo = tf.train.slice_input_producer([np.arange(30)],
                                        shuffle=False,
                                        name='a')[0]
b_fifo = tf.train.slice_input_producer([np.arange(30)],
                                        shuffle=False,
                                        name='b')[0]
train_batch = tf.train.batch([a_fifo, b_fifo],
                            batch_size=5,
                            capacity=18,
                            num_threads=2,
                            name='batch')
at, bt = train_batch
with tf.Session() as sess:
    threads = tf.train.start_queue_runners(sess=sess)
    sess.run(tf.global_variables_initializer())
    try:
        for i in range(150):
            av, bv = sess.run([at, bt])
            assert list(av) == list(bv), "queues derailed!"
    except Exception as e:
        print(("Exception in training: {}").format(e))
        print("__",i,"__")
        print(av)
        print(bv)

Output:

Exception in training: queues derailed!
__ 11 __
[26 25 27 28 29]
[25 26 27 28 29]

Describe the problem
Both queues should be dequeued synchronously, as it does when num_threads =1 in the batch statement. With num_threads > 1 the two input queue's will derail, as shown in the example above. Same issue appears also in train.shuffle_batch.
Source code / logs
See code above.

@BastiaanBergman we are moving to tf.data, which is a much nicer interface. Would you be open to that?

I really liked tf.data but found it not working for some other reason, therefore reverted back to the queues. Will retry some day.

We are deprecating the queues in favor of tf.data and would really like to hear about what the problem is.
@mrry maybe we can suggest a solution?

Yes, the difficulty of getting deterministic results is one of the reasons why we are recommending that people use tf.data instead of the queue-based APIs. For example, here's what your program would look like in tf.data:
a_dataset = tf.data.Dataset.range(30).repeat()
b_dataset = tf.data.Dataset.range(30).repeat()
batched_dataset = tf.data.Dataset.zip((a_dataset, b_dataset)).batch(5)
iterator = batched_dataset.make_one_shot_iterator()
at, bt = iterator.get_next()

with tf.Session() as sess:
    try:
        for i in range(150):
            av, bv = sess.run([at, bt])
            assert list(av) == list(bv), "queues derailed!"
    except Exception as e:
        print(("Exception in training: {}").format(e))
        print("__",i,"__")
        print(av)
        print(bv)

Yes its nice that way. I still have to look and see what made me move away from dataset. I think it was issues with switching between test and train sets on the same graph. But I had issues with that in queue's too and eventually settled with separate graphs for training and testing anyway.
Are there multiple threads working on this dataset version? Would I be save with one thread on queue's? Or might I still have compromised 'deterministic results'? ;-) Thanks anyway, it's been awesome learning tf.

There are a couple of ways to switch between different datasets with a single Iterator (search for "reinitializable iterator" and "feedable iterator" in this guide), but most people find it easier to construct multiple graphs for these cases.
The code example I showed does not create additional threads, but you can add them wherever you'd like by adding a .prefetch(buffer_size) transformation. Although it doesn't make much sense for the concrete example, here's how you'd add prefetching threads to the a_dataset and b_dataset computations:
a_dataset = tf.data.Dataset.range(30).repeat().prefetch(10)
b_dataset = tf.data.Dataset.range(30).repeat().prefetch(10)
batched_dataset = tf.data.Dataset.zip((a_dataset, b_dataset)).batch(5)

If you have an expensive Dataset.map() in your program, you can also parallelize that by adding num_parallel_calls=N to process N elements at once.
All these options add parallelism without comprising on determinism. There is an explicitly "sloppy" transformation called tf.contrib.data.sloppy_interleave() that can produce non-determinstic results (but can be useful to make I/O blockages), and we've considered adding a non-deterministic parallel map (to deal with stragglers), but it's generally been more pleasant to work with deterministic APIs.
By contrast, the num_threads > 1 versions of the queue-based APIs are inherently racy, because they issue multiple Session.run() calls in parallel, and mutate queue state (dequeuing from the source queue, enqueuing to the destination queue) without any coordination. Setting num_threads = 1 ought to help, but it conflicts with tf.train.shuffle_batch(), because there can still be a race between a single producer thread and a single consumer thread when capacity != min_after_dequeue, leading to unrepeatable results.

Closing due to lack of activity.

authors: BastiaanBergman drpngx mrry

repo: tensorflow/tensorflow


text:
[Critical some questions] Tensorflow-lite, Neural Networks API

Hi.
Some question.
1.

Current i use  tensorflow library   compile 'org.tensorflow:tensorflow-lite:+'
and i want to use Neural Networks Api, to reduce inference time.
but wrapper function is not existing in Interpreter.java class
  private static native void useNNAPI(long var0, boolean var2);
so i can't use it..
If I create a wrapper function, can I use Neural Networks API? (my device level >  8.1)

What is https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/java/src/testhelper/java/org/tensorflow/lite/TestHelper.java
?
2.

i'm converting pb to tflite. mobilenet_v1_224.pb (17 mb) mobilenet_v1_224_uint8.tflite (4 mb)
inference speed about 290 ms -> 73ms decreased

Command line(mobileNet)

bazel run -c opt --copt=-msse4.1 --copt=-msse4.2 --config=opt \
  //tensorflow/contrib/lite/toco:toco -- \
  --input_file=/home/danshin/tensorflow_lite/lite_model/frozen_graph.pb \
  --output_file=/home/danshin/tensorflow_lite/lite_model/frozen_uint_graph.tflite \
  --input_format=TENSORFLOW_GRAPHDEF \
  --output_format=TFLITE \
  --inference_type=QUANTIZED_UINT8 \
  --input_shape=1,224,224,3 \
  --input_array=input \
  --output_array=MobilenetV1/Predictions/Reshape_1 \
  --default_ranges_min=0 \
  --default_ranges_max=6 \
  --mean_value=127.5 \
  --std_value=127.5

In a similar way,
But frozen_cpm.pb(120 mb) convert to frozen_cpm_uint8.tflite(30 mb)
inference speed about 11000 ms -> 11000ms.
If the model size is reduced, does not the inference time generally decrease?

OS Platform and Distribution :  Ubuntu 16.04 LTS
TensorFlow installed from : official
TensorFlow version : 1.5 version
Bazel version : 0.9.0
CUDA/cuDNN version : V 8.0.61 (8.0)
GPU model and memory : GeForce GTX 1060 / 3G
Exact command to reproduce :
bazel run -c opt --copt=-msse4.1 --copt=-msse4.2 --config=opt \
  //tensorflow/contrib/lite/toco:toco -- \
  --input_file=/home/danshin/tensorflow_lite/lite_model/frozen_cpm.pb \
  --output_file=/home/danshin/tensorflow_lite/lite_model/frozen_uint8_cpm.tflite \
  --input_format=TENSORFLOW_GRAPHDEF \
  --output_format=TFLITE \
  --input_shape=1,368,368,3 \
  --inference_type=QUANTIZED_UINT8 \
  --input_array=inference_images/Placeholder \
  --output_array=stage6/confidence_maps/BiasAdd \
  --logtostderr

@cy89 , @aselle

Nagging Awaiting TensorFlower: It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging TensorFlower: It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

Nagging Assignee @tatatodd: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

I think there's already an official way to turn on the NNAPI in the JAVA Api of TF Lite. It will not make much of a difference unless your device provides NNAPI acceleration.

authors: andrehentz nanamare tensorflowbutler


text:
tf.crop_and_resize very slow

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug, a feature request, or a significant problem with documentation (for small docs fixes please send a PR instead).
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/a
TensorFlow installed from (source or binary): pip
TensorFlow version (use command below): 1.10
Python version: 3.5
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: 9/7.1
GPU model and memory:1080ti/11gb dual
Exact command to reproduce:

Crop and Resize takes too long to run, please see the attachment

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

@dhingratul -- this is hard to help debug without further information. Can you replicate this with open data and a minimal example? What does using separate ops look like (crop, then resize)?

I believe the issue is with the timeline, as it shows crop_and_resize as one big block of operation, after inspecting with nvidia visual profiler, I have more clarity, and the issue is non-reproducible. Its actually faster than a few other custom ops I tried.

authors: dhingratul karmel


text:
*** stack smashing detected ***:  terminated 已放弃 (核心已转储)

describe problems：

ubuntu 18.04 cmake
c++ with libtensorflow_cc.so
I can compile my code,but when I run it,the error is "*** stack smashing detected ***:  terminated 已放弃 (核心已转储)"

code
#include "tensorflow/core/public/session.h"
#include "tensorflow/core/platform/env.h"
using namespace std;
using namespace chrono;
using namespace tensorflow;
int main(int argc, char* argv[]) {
// SessionOptions options;
// std::unique_ptrtensorflow::Session session(tensorflow::NewSession(options));
Session *session = NewSession(SessionOptions());
if(session == nullptr)
{
throw runtime_error("Could not create tensorflow session");
}
session->Close();
return 0;
}
So, what should I do?Thank you!

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce
Mobile device

OS platform:ubuntu:16.04
ensorflow install from source code
tensorflow version:1.11(master branch)
Bazel version:0.17.1
CPU
1、comand:
bazel build --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-mfpmath=both --copt=-msse4.2 --config=monolithic //tensorflow:libtensorflow_cc.so
bazel build --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-mfpmath=both --copt=-msse4.2 --config=monolithic //tensorflow:libtensorflow_framework.so
sudo mkdir /usr/local/include/tf
sudo mkdir /usr/local/include/tf/tensorflow
sudo cp -r bazel-genfiles/ /usr/include/tf
sudo cp -r tensorflow/cc /usr/include/tf/tensorflow
sudo cp -r tensorflow/core /usr/include/tf/tensorflow
sudo cp -r third_party /usr/include/tf
sudo cp -r bazel-bin/tensorflow/libtensorflow_cc.so /usr/local/lib
sudo cp -r bazel-bin/tensorflow/libtensorflow_framework.so /usr/local/lib
2、code:
#include "tensorflow/core/public/session.h"
#include "tensorflow/core/platform/env.h"
using namespace std;
using namespace chrono;
using namespace tensorflow;
int main(int argc, char* argv[]) {
// SessionOptions options;
// std::unique_ptrtensorflow::Session session(tensorflow::NewSession(options));
Session *session = NewSession(SessionOptions());
if(session == nullptr)
{
throw runtime_error("Could not create tensorflow session");
}
Status status = session->Close();
return 0;
}
3、the status is status.ok() is right,but the error is "*** stack smashing detected ***: terminated 已放弃 (核心已转储)"

Closing this issue as new issue #22411 is opened with updated information.

authors: Yangxiu123321 tensorflowbutler ymodak


text:
predict result with SavedModel are not same in Python Api and Java Api

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

OS Platform and Distribution (windows 7):
TensorFlow installed from (binary):
TensorFlow version (cpu, 1.15.0):
Python version: - 3.6.3

Describe the current behavior
I saved model with Estimator.export_saved_model()
I load the model with Python:
`
from tensorflow.contrib import predictor
self.model = predictor.from_saved_model(self.mode_dir)
\# predict
a_input_ids, a_input_mask, a_segment_ids = self._build_input(a_input)
output = self.model({'a_input_ids': [a_input_ids],
'a_input_mask': [a_input_mask],
'a_segment_ids': [a_segment_ids]})
a_output = output['a_output_layer']
`
a_output = [[-0.05960074  0.03045687 -0.20487925  0.36802548  0.07898629 -0.35250664
0.21251363 -0.23284832 -0.30972436 -0.20010747 -0.00487598  0.48967522
0.1831991  -0.28579575  0.15075627  0.2821794  -0.02628851 -0.05371238
0.06514908 -0.38573033 -0.34205046  0.3108538  -0.01758813  0.59596956
0.5169708  -0.46524945 -0.6804516  -0.32393196  0.36948654 -0.46160206
-0.15634336  0.44929808 -0.39321676 -0.18401513 -0.3726705   0.19476992
0.33169916 -0.11876976 -0.36055735  0.19275247  0.12676252  0.10232886
0.63154477 -0.07467962 -0.17044203 -0.47212833  0.26961723 -0.33468968
0.22710937  0.05272907 -0.6149754  -0.02799183  0.10492884  0.23291017
-0.20572647 -0.13610545 -0.05362191  0.44776174  0.4095006  -0.43816873
0.22285426  0.33557323  0.31537503  0.07024186 -0.38216737 -0.12280162
-0.27534372 -0.41657594 -0.05565406 -0.33100575 -0.29913923  0.00283101
0.10702493 -0.31459734 -0.2403451   0.42180565 -0.03365724  0.3264306
0.5190079   0.21016245 -0.3...
I load the model with Java:
`
SavedModelBundle bundle = SavedModelBundle.load(exportDir, "serve");
\# predict :
ThreeTuple<long[][], long[][], long[][]> input = buildInput(sentenceList);
Tensor aInputIdsTensor = Tensor.create(input.param1);
Tensor aInputMaskTensor = Tensor.create(input.param2);
Tensor aSegmentIdsTensor = Tensor.create(input.param3);
List> tensors = this.bundle.session().runner()
.feed("a_input_ids", aInputIdsTensor)
.feed("a_input_mask", aInputMaskTensor)
.feed("a_segment_ids", aSegmentIdsTensor)
.fetch("a_output").run();
Tensor<?> result = tensors.get(0);
float[][] outResult = new float[1][dim];
result.copyTo(outResult);
float[] a_output = outResult[0]
`
a_output = [[-0.018384377, -0.06955972, 0.051764473, 0.015454082, 0.06722302, -0.07839473, 0.02793679, -0.072589695, -0.051289488, -0.039070662, 0.049129114, 0.11508791, 0.0076964055, -0.042025223, 0.05569571, 0.05739251, -0.04230939, -0.05749864, 0.10970076, -0.15183078, -0.08809995, 0.07375819, 0.08044808, 0.12184837, 0.043990605, -0.12923256, -0.056834757, 0.056434825, 0.033050016, -0.022836037, -0.09641873, 0.029169578, -0.0059487675, -0.084053494, -0.095500425, -0.009507669, 0.032067284, -0.026453126, -0.070464775, 0.058229186, 0.016397119, 0.0129444385, 0.07648615, -0.014742567, -0.01920672, -0.10167458, -0.040589973, -0.037671003, -0.02273454, ...
I use the same version of Tensorflow, same SavedModel, same vocab,same everything but the code language。Apparently, the two result above is not same.
Describe the expected behavior
expected same predict result.
Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

Hmm, it's hard to say from the results alone. Is there some randomization being applied in the signature (e.g. dropout)? Are you able to post code that produced the SavedModel?

Hmm, it's hard to say from the results alone. Is there some randomization being applied in the signature (e.g. dropout)? Are you able to post code that produced the SavedModel?

There haven't any randomization , I post my simplified code below:

first i set output in model_fn():

`
def model_fn():
   (a_output_layer) = create_model_a(albert_config, is_training, a_input_ids, a_input_mask,
                 a_segment_ids, use_one_hot_embeddings)
  output_spec = tf.contrib.tpu.TPUEstimatorSpec(mode=mode,predictions={"a_output_layer": a_output_layer}, scaffold_fn=scaffold_fn)

return output_spc
`

create placeholder for input, and build feather and receive_tensors:

`
 def serving_input_receiver_fn():

            a_input_ids = tf.placeholder(dtype=tf.int64, shape=[None, FLAGS.max_seq_length], name='a_input_ids')
            a_input_mask = tf.placeholder(dtype=tf.int64, shape=[None, FLAGS.max_seq_length], name='a_input_mask')
            a_segment_ids = tf.placeholder(dtype=tf.int64, shape=[None, FLAGS.max_seq_length], name='a_segment_ids')
            receive_tensors = {'a_input_ids': a_input_ids, 'a_input_mask': a_input_mask, 'a_segment_ids': a_segment_ids}
            features = {'a_input_ids': a_input_ids, 'a_input_mask': a_input_mask, 'a_segment_ids': a_segment_ids}
   return tf.estimator.export.ServingInputReceiver(features, receive_tensors)

`

export SavedModel:

     estimator._export_to_tpu = False      estimator.export_saved_model(Flags.export_dir, serving_input_receiver_fn)

than I got result as below:
-1585645721
--variables
-----variables.data-00000-of-00001
-----variables.index
--saved_model.pb

I think its normal and correct way to use SavedModel, but I don't knwon why I got different result with Python Api and Java Api when reload model and predict. Please help me.

Is the memory restict in jvm?

i also have the same question.
the same pb file,when load it by python,result is right; if load by java,result is wrong;
the java code of load pb is used by many model modules,so it is the right;
any one met the same question??

Hi There,
We are checking to see if you still need help on this, as you are using an older version of tensorflow which is officially considered end of life . We recommend that you upgrade to the latest 2.x version and let us know if the issue still persists in newer versions. Please open a new issue for any help you need against 2.x, and we will get you the right help.
This issue will be closed automatically 7 days from now. If you still need help with this issue, please provide us with more information.

authors: IamHimon cslizhang k-w-w tensorflowbutler zheng5yu9


text:
Sparse.Softmax Example

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): no
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): 2.3.1
Python version:3.8
CUDA/cuDNN version: unsure
GPU model and memory: unsure

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with:

TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"

Executing code at the tensorflow example does not work as described.
https://www.tensorflow.org/api_docs/python/tf/sparse/softmax#returns
import tensorflow as tf
import numpy as np

shape = [2, 2, 2]  # 3-D SparseTensor
values = np.asarray([[[0., np.e], [1., 0.]], [[np.e, 0.], [np.e, np.e]]])
indices = np.vstack(np.where(values)).astype(np.int64).T
result = tf.sparse.softmax(tf.sparse.SparseTensor(indices, values, shape))

Output:
Traceback (most recent call last):
File "/usr/local/pycharm-2020.1.2/plugins/python/helpers/pydev/_pydevd_bundle/pydevd_exec2.py", line 3, in Exec
exec(exp, global_vars, local_vars)
File "", line 7, in
File "/home/jsidhom1/DeepTCR/venv/lib/python3.8/site-packages/tensorflow/python/framework/sparse_tensor.py", line 145, in init
values_shape = values.shape.with_rank(1)
File "/home/jsidhom1/DeepTCR/venv/lib/python3.8/site-packages/tensorflow/python/framework/tensor_shape.py", line 1034, in with_rank
raise ValueError("Shape %s must have rank %d" % (self, rank))
ValueError: Shape (2, 2, 2) must have rank 1
Expected behavior from website above.
import tensorflow as tf
import numpy as np

shape = [2, 2, 2]  # 3-D SparseTensor
values = np.asarray([[[0., np.e], [1., 0.]], [[np.e, 0.], [np.e, np.e]]])
indices = np.vstack(np.where(values)).astype(np.int64).T
result = tf.sparse.softmax(tf.sparse.SparseTensor(indices, values, shape))

Hi @sidhomj
I tried this out, I too got the same error.
The reason for the error is SparseTensor accepts only 1-D tensor as values but in the docs a 3-D tensor is passed. So, to solve this you can get the non zero values from the tensor and store it in a list and then pass it to the SparseTensor.
import tensorflow as tf
import numpy as np

shape = [2, 2, 2]  # 3-D SparseTensor
values = np.asarray([[[0., np.e], [1., 0.]], [[np.e, 0.], [np.e, np.e]]])
indices = np.vstack(np.where(values)).astype(np.int64).T

flat_values = tf.reshape(values,[-1])
val = [flat_values[i] for i in np.nonzero(flat_values)[0].tolist()]

result = tf.sparse.softmax(tf.sparse.SparseTensor(indices, val, shape))
tf.sparse.to_dense(result)

This is how I implemented it

Was able to reproduce the issue with TF v2.3 and TF-nightly. Please find the gist of it here. Thanks!

@sidhomj Agree that the code on that page is not working as values supposed to be a 1-D tensor of any type and shape [N]. Please check the tf.sparse.SparseTensor.
I tried the following which works and the result is of shape (5,3). Please check the gist here.
shape = [2, 2, 2]  # 3-D SparseTensor
dense_values = np.asarray([[[0., np.e], [1., 0.]], [[np.e, 0.], [np.e, np.e]]])
values= [np.e, 1, np.e, np.e, np.e]
indices = np.vstack(np.where(dense_values)).astype(np.int64).T

result = tf.sparse.softmax(tf.sparse.SparseTensor(indices, values, shape))

Please close the issue if this was resolved for you. Thanks!

authors: amahendrakar jvishnuvardhan shrikumaran sidhomj


text:
ERROR: C:/pathtensor/tensorflow-avx2/tensorflow/python/BUILD:5771:1: C++ compilation of rule '//tensorflow/python:_tf_stack.so' failed (Exit 2): python.exe failed: error executing command

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
Bonjour monsieur et madame,
I am struggling to compile tensorflow2.3 from source, and it met the problem which I can not solve, please help.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10 professional
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: None
TensorFlow installed from (source or binary): tensorflow r-2.3
TensorFlow version: r-2.3
Python version: Anaconda python 3.8
Installed using virtualenv? pip? conda?: conda
Bazel version (if compiling from source): 3.1
GCC/Compiler version (if compiling from source): MSVC2019
CUDA/cuDNN version: CUDA10.1, cudnn 7.6
GPU model and memory: two Geforce GTX1080

Describe the problem
ERROR: C:/pathtensor/tensorflow-avx2/tensorflow/python/BUILD:5771:1: C++ compilation of rule '//tensorflow/python:_tf_stack.so' failed (Exit 2): python.exe failed: error executing command

Provide the exact sequence of commands / steps that you executed before running into the problem
set PATH=%PATH%; //////"include msvc path, bazel vc path, cuda path"
bazel clean
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package

Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
INFO: Reading rc options for 'build' from c:\pathtensor\tensorflow-avx2\.tf_configure.bazelrc:
  'build' options: --action_env PYTHON_BIN_PATH=C:/Users/rapid/anaconda3/python.exe --action_env PYTHON_LIB_PATH=C:/Users/rapid/anaconda3/lib/site-packages --python_path=C:/Users/rapid/anaconda3/python.exe --config=xla --action_env CUDA_TOOLKIT_PATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1 --action_env TF_CUDA_COMPUTE_CAPABILITIES=6.1 --config=cuda --copt=/d2ReducedOptimizeHugeFunctions --host_copt=/d2ReducedOptimizeHugeFunctions --define=override_eigen_strong_inline=true --action_env TF_CONFIGURE_IOS=0
INFO: Found applicable config definition build:short_logs in file c:\pathtensor\tensorflow-avx2\.bazelrc: --output_filter=DONT_MATCH_ANYTHING
INFO: Found applicable config definition build:v2 in file c:\pathtensor\tensorflow-avx2\.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1
INFO: Found applicable config definition build:xla in file c:\pathtensor\tensorflow-avx2\.bazelrc: --define=with_xla_support=true
INFO: Found applicable config definition build:cuda in file c:\pathtensor\tensorflow-avx2\.bazelrc: --config=using_cuda --define=using_cuda_nvcc=true
INFO: Found applicable config definition build:using_cuda in file c:\pathtensor\tensorflow-avx2\.bazelrc: --define=using_cuda=true --action_env TF_NEED_CUDA=1 --crosstool_top=@local_config_cuda//crosstool:toolchain --define=tensorflow_enable_mlir_generated_gpu_kernels=1
INFO: Found applicable config definition build:opt in file c:\pathtensor\tensorflow-avx2\.tf_configure.bazelrc: --copt=/arch:AVX2 --define with_default_optimizations=true
INFO: Found applicable config definition build:cuda in file c:\pathtensor\tensorflow-avx2\.bazelrc: --config=using_cuda --define=using_cuda_nvcc=true
INFO: Found applicable config definition build:using_cuda in file c:\pathtensor\tensorflow-avx2\.bazelrc: --define=using_cuda=true --action_env TF_NEED_CUDA=1 --crosstool_top=@local_config_cuda//crosstool:toolchain --define=tensorflow_enable_mlir_generated_gpu_kernels=1
INFO: Found applicable config definition build:windows in file c:\pathtensor\tensorflow-avx2\.bazelrc: --copt=/W0 --copt=/D_USE_MATH_DEFINES --host_copt=/D_USE_MATH_DEFINES --cxxopt=/std:c++14 --host_cxxopt=/std:c++14 --config=monolithic --copt=-DWIN32_LEAN_AND_MEAN --host_copt=-DWIN32_LEAN_AND_MEAN --copt=-DNOGDI --host_copt=-DNOGDI --copt=/experimental:preprocessor --host_copt=/experimental:preprocessor --linkopt=/DEBUG --host_linkopt=/DEBUG --linkopt=/OPT:REF --host_linkopt=/OPT:REF --linkopt=/OPT:ICF --host_linkopt=/OPT:ICF --experimental_strict_action_env=true --verbose_failures --distinct_host_configuration=false
INFO: Found applicable config definition build:monolithic in file c:\pathtensor\tensorflow-avx2\.bazelrc: --define framework_shared_object=false
INFO: Analyzed target //tensorflow/tools/pip_package:build_pip_package (412 packages loaded, 26776 targets configured).
INFO: Found 1 target...
ERROR: C:/pathtensor/tensorflow-avx2/tensorflow/python/BUILD:5771:1: C++ compilation of rule '//tensorflow/python:_tf_stack.so' failed (Exit 2): python.exe failed: error executing command
  cd C:/users/rapid/_bazel_rapid/kk2upf35/execroot/org_tensorflow
  SET CUDA_TOOLKIT_PATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1
    SET INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\ATLMFC\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\include;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared;C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt
    SET LIB=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\ATLMFC\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\lib\x64;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64

Please post the full error, there has to be something after error executing command. In fact, even the command you posted is truncated. Bazel prints exactly all the cd,SET and other commands needed to build the failing target.

Closing due to lack of actionable information and unresponsiveness.

Closing due to lack of actionable information and unresponsiveness.

authors: mihaimaruseac wenbaoQIAO


text:
tensroflow 0.11rc conflict with boost.python generated so

My application will use both tensorflow and some so generated by boost.python(1.53) running on centos 6.3 with cuda 7.5 and cudnn 4 .
The problem is everything is fine with tensorflow 0.10, but changing to tensorflow 0.11rc, then
I will always face segmentation fault (double free) before the program stop running, especially if using numpy also, and if changing import library sequence  might decrease the chance of facing double free, but still not fully solve the problem.

@chenghuige As we have limited resources, we can only provide support for specific bugs in TensorFlow.
Feel free to reply with a specific reproducible scenario if you feel there is a bug in TensorFlow that we can fix.  Thanks!

authors: chenghuige tatatodd


text:
Error When Trying to Get Value for bert_model in "Classify text with BERT" tutorial

Click to expand!
Issue Type
Bug
Have you reproduced the bug with TF nightly?
No
Source
source
Tensorflow Version
2.4.4
Custom Code
Yes
OS Platform and Distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
I am trying to run the "Classify text with BERT" tutorial using Jupyter Notebook on a remote server. When I tried to implement 'bert_model = hub.KerasLayer(tfhub_handle_encoder)', it never returned a result and it is still executing with the asterik (*) next to the cell.

Is this supposed to happen, and is it normal for that line to take a long time to execute?

Standalone code to reproduce the issue
https://www.tensorflow.org/text/tutorials/classify_text_with_bert

The code is this line:
'bert_model = hub.KerasLayer(tfhub_handle_encoder)'

Relevant log output
No response

I'm sorry to hear that you're encountering an error when trying to get the value for bert_model in the "Classify text with BERT" tutorial. Here are some possible solutions:
Make sure you have installed the necessary packages. The tutorial requires tensorflow, tensorflow-text, and tensorflow-hub. You can install them using pip:
pip install tensorflow tensorflow-text tensorflow-hub
Check that you're using the correct BERT model. The tutorial uses the bert_en_uncased_L-12_H-768_A-12 model, which is a smaller and faster version of BERT. Make sure you've downloaded and unzipped this model to the correct directory. You can download it using the following command:
!wget https://storage.googleapis.com/bert_models/2018_10_18/uncased_L-12_H-768_A-12.zip !unzip uncased_L-12_H-768_A-12.zip
Verify that the path to the BERT model is correct. In the tutorial, the path is set to ./bert_en_uncased_L-12_H-768_A-12/. Double-check that this path is correct and that you're not missing any files.
Try clearing the TensorFlow session and reloading the BERT model. You can do this using the following code:
`import tensorflow as tf
import tensorflow_hub as hub
tf.keras.backend.clear_session()
bert_layer = hub.KerasLayer("./bert_en_uncased_L-12_H-768_A-12")
`
If none of the above solutions work, try restarting your Python kernel and rerunning the code from the beginning of the tutorial.
I hope one of these solutions helps you resolve the error. Let me know if you have any further questions or concerns!

I successfully completed the tutorial, and the code worked. It just took longer than expected. Unfortunately, I did not record how long it took for the line of code to run.
I am closing this issue because I no longer have any questions.

authors: AbdelAzizMohamedMousa hilal-g


text:
//tensorflow/python/distribute/failure_handling:failure_handler_test is flaky

Click to expand!
Issue Type
Bug
Have you reproduced the bug with TF nightly?
Yes
Source
source
Tensorflow Version
git HEAD
Custom Code
No
OS Platform and Distribution
Ubuntu 20.04
Mobile device
n/a
Python version
3.9.16
Bazel version
6.1.0
GCC/Compiler version
10.2.1
CUDA/cuDNN version
n/a
GPU model and memory
n/a
Current Behaviour?
//tensorflow/python/distribute/failure_handling:failure_handler_test will timeout sometimes
x86 log
https://source.cloud.google.com/results/invocations/302ca1a4-593b-430c-b278-038351228670/log
AARCH64 log
https://github.com/tensorflow/tensorflow/actions/runs/5363735926/jobs/9731502578#step:5:11034
Looks like a network port conflict.
Standalone code to reproduce the issue
bazel --bazelrc=/usertools/cpu.bazelrc test --config=pycpp --config=build_event_export --remote_cache=https://storage.googleapis.com/tensorflow-devinfra-bazel-cache/norbe --google_default_credentials

Relevant log output
INFO: From Testing //tensorflow/python/distribute/failure_handling:failure_handler_test (shard 4 of 8):
==================== Test output for //tensorflow/python/distribute/failure_handling:failure_handler_test (shard 4 of 8):
2023-06-22 16:46:57.933478: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2023-06-22 16:46:58.014195: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Running tests under Python 3.9.17: /usr/bin/python3
[ RUN      ] PreemptionCheckpointTest.test_grace_period_continue_training_test_inputarg_checkpoint_strategyoption_MWMSmultiworker
INFO:tensorflow:Using local port 38723
I0622 16:47:02.418146 140436227843904 test_util.py:3796] Using local port 38723
INFO:tensorflow:Using local port 41053
I0622 16:47:02.418907 140436227843904 test_util.py:3796] Using local port 41053
INFO:tensorflow:Using local port 45087
I0622 16:47:02.419116 140436227843904 test_util.py:3796] Using local port 45087
INFO:tensorflow:Using local port 38125
I0622 16:47:02.419290 140436227843904 test_util.py:3796] Using local port 38125
2023-06-22 16:47:03.130184: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2023-06-22 16:47:03.185580: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-06-22 16:47:03.185763: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2023-06-22 16:47:03.241253: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
INFO:tensorflow:Cluster starting.
I0622 16:47:04.817156 140436227843904 failure_handler_test.py:432] Cluster starting.
[worker-0]:    I0622 16:47:04.842670 140652189284160 multi_process_runner.py:840] Subprocess with PID 588346 (worker, 0) is now being started.
[worker-0]:    I0622 16:47:04.842952 140652189284160 multi_process_runner.py:842] TF_CONFIG: '{"cluster": {"worker": ["localhost:38723", "localhost:41053", "localhost:45087", "localhost:38125"]}, "task": {"type": "worker", "index": 0}, "rpc_layer": "grpc"}'
[worker-1]:    I0622 16:47:04.858144 140652189284160 multi_process_runner.py:840] Subprocess with PID 588646 (worker, 1) is now being started.
[worker-1]:    I0622 16:47:04.858554 140652189284160 multi_process_runner.py:842] TF_CONFIG: '{"cluster": {"worker": ["localhost:38723", "localhost:41053", "localhost:45087", "localhost:38125"]}, "task": {"type": "worker", "index": 1}, "rpc_layer": "grpc"}'
[worker-0]:    2023-06-22 16:47:04.907068: I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:457] Started server with target: grpc://localhost:38723
[worker-2]:    I0622 16:47:04.927917 140652189284160 multi_process_runner.py:840] Subprocess with PID 588933 (worker, 2) is now being started.
[worker-0]:    2023-06-22 16:47:04.943758: I tensorflow/tsl/distributed_runtime/coordination/coordination_service.cc:551] /job:worker/replica:0/task:0 has connected to coordination service. Incarnation: 14520256932767538069
[worker-0]:    2023-06-22 16:47:04.944905: I tensorflow/tsl/distributed_runtime/coordination/coordination_service_agent.cc:299] Coordination agent has successfully connected.
[worker-2]:    I0622 16:47:04.928328 140652189284160 multi_process_runner.py:842] TF_CONFIG: '{"cluster": {"worker": ["localhost:38723", "localhost:41053", "localhost:45087", "localhost:38125"]}, "task": {"type": "worker", "index": 2}, "rpc_layer": "grpc"}'
[worker-1]:    2023-06-22 16:47:04.995414: I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:457] Started server with target: grpc://localhost:41053
[worker-0]:    2023-06-22 16:47:04.997341: I tensorflow/tsl/distributed_runtime/coordination/coordination_service.cc:551] /job:worker/replica:0/task:1 has connected to coordination service. Incarnation: 7622272584115739518
[worker-1]:    2023-06-22 16:47:04.998064: I tensorflow/tsl/distributed_runtime/coordination/coordination_service_agent.cc:299] Coordination agent has successfully connected.
[worker-3]:    I0622 16:47:05.006252 140652189284160 multi_process_runner.py:840] Subprocess with PID 589461 (worker, 3) is now being started.
[worker-2]:    E0622 16:47:05.032748121  588933 server_chttp2.cc:40]        {"created":"@1687452425.032699864","description":"No address added out of total 1 resolved","file":"external/com_github_grpc_grpc/src/core/ext/transport/chttp2/server/chttp2_server.cc","file_line":395,"referenced_errors":[{"created":"@1687452425.032698162","description":"Failed to add any wildcard listeners","file":"external/com_github_grpc_grpc/src/core/lib/iomgr/tcp_server_posix.cc","file_line":342,"referenced_errors":[{"created":"@1687452425.032676237","description":"Address family not supported by protocol","errno":97,"file":"external/com_github_grpc_grpc/src/core/lib/iomgr/socket_utils_common_posix.cc","file_line":420,"os_error":"Address family not supported by protocol","syscall":"socket","target_address":"[::]:45087"},{"created":"@1687452425.032697070","description":"Unable to configure socket","fd":9,"file":"external/com_github_grpc_grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.cc","file_line":216,"referenced_errors":[{"created":"@1687452425.032694857","description":"Address already in use","errno":98,"file":"external/com_github_grpc_grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.cc","file_line":189,"os_error":"Address already in use","syscall":"bind"}]}]}]}
[worker-2]:    2023-06-22 16:47:05.032844: E tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:608] UNKNOWN: Could not start gRPC server
[worker-2]:    2023-06-22 16:47:05.033076: E tensorflow/core/common_runtime/eager/context_distributed_manager.cc:703] Could not start gRPC server
[worker-3]:    I0622 16:47:05.006778 140652189284160 multi_process_runner.py:842] TF_CONFIG: '{"cluster": {"worker": ["localhost:38723", "localhost:41053", "localhost:45087", "localhost:38125"]}, "task": {"type": "worker", "index": 3}, "rpc_layer": "grpc"}'
[worker-2]:    Process _Process-4:
[worker-2]:    Traceback (most recent call last):
[worker-2]:      File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
[worker-2]:        self.run()
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/multi_process_runner.py", line 755, in _run_with_setenv
[worker-2]:        return self._actual_run()
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/multi_process_lib.py", line 54, in _run_with_absl
[worker-2]:        app.run(lambda _: self._run_impl())
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/absl_py/absl/app.py", line 312, in run
[worker-2]:        _run_main(main, args)
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/absl_py/absl/app.py", line 258, in _run_main
[worker-2]:        sys.exit(main(argv))
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/multi_process_lib.py", line 54, in <lambda>
[worker-2]:        app.run(lambda _: self._run_impl())
[worker-2]:      File "/usr/lib/python3.9/multiprocessing/process.py", line 108, in run
[worker-2]:        self._target(*self._args, **self._kwargs)
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/multi_process_runner.py", line 866, in __call__
[worker-2]:        six.reraise(*info.exc_info)
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/six_archive/six.py", line 719, in reraise
[worker-2]:        raise value
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/multi_process_runner.py", line 1060, in _run_contained
[worker-2]:        return_value = fn(*args, **kwargs)
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/failure_handling/failure_handler_test.py", line 146, in worker_fn
[worker-2]:        strategy = collective_all_reduce_strategy.CollectiveAllReduceStrategy()
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/collective_all_reduce_strategy.py", line 186, in __init__
[worker-2]:        CollectiveAllReduceExtended(
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/collective_all_reduce_strategy.py", line 339, in __init__
[worker-2]:        self._initialize_strategy(self._cluster_resolver, devices=devices)
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/collective_all_reduce_strategy.py", line 358, in _initialize_strategy
[worker-2]:        self._initialize_multi_worker(cluster_resolver)
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/distribute/collective_all_reduce_strategy.py", line 530, in _initialize_multi_worker
[worker-2]:        context.context().ensure_initialized()
[worker-2]:      File "/root/.cache/bazel/_bazel_root/fbac33eb30dbfb6b11b15a7ff5ac830d/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/python/distribute/failure_handling/failure_handler_test.runfiles/org_tensorflow/tensorflow/python/eager/context.py", line 610, in ensure_initialized
[worker-2]:        pywrap_tfe.TFE_EnableCollectiveOps(context_handle, server_def_str)
[worker-2]:    tensorflow.python.framework.errors_impl.UnknownError: Could not start gRPC server

@rishikasinha-tf flaky test


text:
Snap package for tensorflow

It would be nice to have a snap package for tensorflow. https://snapcraft.io/
The advantage is that it is easy to install and supports multiple distributions.

And http://flatpak.org

@martinwicke , do we have any plans for package distribution through other than pip means. I know ubuntu/Debian was a non-starter for various reasons. We certainly would be happy to accept contributions by the community in this area as package maintainers.

Community contributed packages would be great. We just started publishing to maven, and we have a tgz with .so/.h files.
We don't have the bandwidth to maintain other packages, but we'd love to have community-maintained packages.

I will close this issue. If someone wants to take it on, I'd be excited to add a link to a community supported package to our website.

authors: anirudh2290 aselle bhack martinwicke


text:
tf.read_file doesn't support non ASCII characters in filename

Windows 2003 server R2, if input file names contain non ASCII characters (such as Chinese), exception will raise.
 [[Node: ReadFile_17 = ReadFile[_device="/job:localhost/replica:0/task:0/cpu:0"](unstack_5:2)]]

Caused by op 'ReadFile_17', defined at:
File "train.py", line 660, in
tf.app.run()
File "C:\Anaconda3\lib\site-packages\tensorflow\python\platform\app.py", line 44, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "train.py", line 657, in main
train()
File "train.py", line 430, in train
num_preprocess_threads=num_preprocess_threads)
File "input.py", line 216, in distorted_inputs
num_readers = FLAGS.num_readers)
File "input.py", line 256, in batch_inputs
image_buffer = tf.read_file(filename)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\ops\gen_io_ops.py", line 203, in read_file
result = _op_def_lib.apply_op("ReadFile", filename=filename, name=name)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 768, in apply_op
op_def=op_def)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 2334, in create_op
original_op=self._default_original_op, op_def=op_def)
File "C:\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1226, in init
self._traceback = _extract_stack()
NotFoundError (see above for traceback): Can not get size for: 01_瑜_057_14734860
91829.jpg : \u03f5\u0373\udcd5\u04b2\udcbb\udcb5\udcbd\u05b8\udcb6\udca8\udcb5\udcc4\udcce\u013c\udcfe\udca1\udca3
     [[Node: ReadFile_17 = ReadFile[_device="/job:localhost/replica:0/task:0/cpu:0"](unstack_5:2)]]

Right. We need to call the right function on windows. It would be nice if you could submit a PR.

This is a bug in TensorFlow. It looks like we're using the ANSI versions of Windows filesystem functions (e.g. in windows_file_system.cc:444 we should use GetFileAttributesExW instead of GetFileAttributesExA, see Microsoft's docs).
I'm working on a fix, but unfortunately I don't have a good setup for testing Windows code so it might take a while before it's committed. For now, I suggest using ASCII filenames if possible.

Oh, didn't see @drpngx's comment :) If @wangxianliang or someone else wants to spin up a patch that would be great.

Maybe the bug is not related to the ANSI version of GetFileAttributesExA.
I created a new project, and used the code snippet of GetFileSize. The function can get the file attributes correctly whenever the input file name contains non ASCII characters or not.

I wonder if we're getting the string properly utf8 encoded from python.
Worth checking.
On Mar 22, 2017 11:16 PM, "Xianliang Wang" notifications@github.com wrote:

Maybe the bug is not related to the ANSI version of GetFileAttributesExA.
I created a new project, and used the code snippet of GetFileSize. The
function can get the file attributes correctly whenever the input file name
contains non ASCII characters or not.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/8581#issuecomment-288627061,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AT_SbVWqE5ksJtJWG67QcfAGdI5MsBZgks5rog47gaJpZM4MjzGo
.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!

This bug can be fixed by changing TranslateName in windows_file_system.h from
string TranslateName(const string& name) const override {
    return name;
  }

to
std::wstring ToUtf16(std::string str)
{
	std::wstring ret;
	int len = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), NULL, 0);
	if (len > 0)
	{
		ret.resize(len);
		MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), &ret[0], len);
	}
	return ret;
}
std::string ToMBCS(std::wstring str)
{
	std::string ret;
	int len = WideCharToMultiByte(CP_ACP, 0, str.c_str(), str.length(), NULL, 0, NULL, NULL);
	if (len > 0)
	{
		ret.resize(len);
		WideCharToMultiByte(CP_ACP, 0, str.c_str(), str.length(), &ret[0], len, NULL, NULL);
	}
	return ret;
}
string TranslateName(const string& name) const override {
    return ToMBCS(ToUtf16(name));
  }

The input fname is 'UTF-8' format, however, windows can't open utf8 encoded filename in c++.

another fix could change some of the python codes in 'tensorflow\python\lib\io\file_io.py',
from
def _preread_check(self):
    if not self._read_buf:
      if not self._read_check_passed:
        raise errors.PermissionDeniedError(None, None,
                                           "File isn't open for reading")
      with errors.raise_exception_on_not_ok_status() as status:
        self._read_buf = pywrap_tensorflow.CreateBufferedInputStream(
            compat.as_bytes(self.__name), 1024 * 512, status)

to
def _preread_check(self):
    if not self._read_buf:
      if not self._read_check_passed:
        raise errors.PermissionDeniedError(None, None,
                                           "File isn't open for reading")
      with errors.raise_exception_on_not_ok_status() as status:
        encoding = 'mbcs' if platform.system() == 'Windows' else 'utf-8'
        self._read_buf = pywrap_tensorflow.CreateBufferedInputStream(
            compat.as_bytes(self.__name, encoding), 1024 * 512, status)

@drpngx @skye @girving

authors: drpngx girving skye wangxianliang


text:
[mkl]Fix gcc6.3 build link issue

when we build tensorflow with gcc6.3 cpu  it will meet the errors below, this PR will fix this issue.
In file included from tensorflow/contrib/lite/kernels/fully_connected.cc:28:0:
./tensorflow/contrib/lite/kernels/internal/optimized/optimized_ops.h: In function 'void tflite::optimized_ops::LogSoftmax(const uint8*, const tflite::Dims<4>&, int32, int32, int32, int32, int, uint8*, const tflite::Dims<4>&)':
./tensorflow/contrib/lite/kernels/internal/optimized/optimized_ops.h:4577:53: warning: typedef 'using FixedPoint0 = class gemmlowp::FixedPoint<int, 0>' locally defined but not used [-Wunused-local-typedefs]
using FixedPoint0 = gemmlowp::FixedPoint<int32, 0>;
^
ERROR: /home/tensorflow/code/1/dl_framework-intel_tensorflow/tensorflow/core/BUILD:2830:1: Linking of rule '//tensorflow/core:lib_strings_stringprintf_test' failed (Exit 1)
bazel-out/k8-opt/bin/_solib_k8/libexternal_Scom_Ugoogle_Uabsl_Sabsl_Sbase_Slibbase.so: error: undefined reference to 'pthread_key_create'
bazel-out/k8-opt/bin/_solib_k8/libexternal_Scom_Ugoogle_Uabsl_Sabsl_Sbase_Slibbase.so: error: undefined reference to 'pthread_getspecific'
bazel-out/k8-opt/bin/_solib_k8/libexternal_Scom_Ugoogle_Uabsl_Sabsl_Sbase_Slibbase.so: error: undefined reference to 'pthread_setspecific'
bazel-out/k8-opt/bin/_solib_k8/libexternal_Scom_Ugoogle_Uabsl_Sabsl_Sbase_Slibbase.so: error: undefined reference to 'pthread_sigmask'
bazel-out/k8-opt/bin/_solib_k8/_U@mkl_Ulinux_S_S_Cmkl_Ulibs_Ulinux___Uexternal_Smkl_Ulinux_Slib/libmklml_intel.so: error: undefined reference to 'dladdr'
bazel-out/k8-opt/bin/_solib_k8/_U@mkl_Ulinux_S_S_Cmkl_Ulibs_Ulinux___Uexternal_Smkl_Ulinux_Slib/libmklml_intel.so: error: undefined reference to 'dlopen'
bazel-out/k8-opt/bin/_solib_k8/_U@mkl_Ulinux_S_S_Cmkl_Ulibs_Ulinux___Uexternal_Smkl_Ulinux_Slib/libmklml_intel.so: error: undefined reference to 'dlerror'
bazel-out/k8-opt/bin/_solib_k8/_U@mkl_Ulinux_S_S_Cmkl_Ulibs_Ulinux___Uexternal_Smkl_Ulinux_Slib/libmklml_intel.so: error: undefined reference to 'dlsym'
Signed-off-by: shaohua shaohua.zhang@intel.com

Nagging Assignee @caisq: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


text:
[TF 2.0 API Docs] tf.image.convert_image_dtype

Added a usage example in convert_image_dtype under image_ops_impl.py. Also added an attribute error raise and listed it in docstring. The issue has been raised in the link https://github.com/tensorflow/tensorflow/issues/29386

int is not a valid tf dtype argument. You can use dtypes.as_dtype(dtype)
to make sure you have a valid dtype
On Tue, Jun 4, 2019 at 11:44 AM Imran Salam notifications@github.com
wrote:

@imransalam commented on this pull request.
In tensorflow/python/ops/image_ops_impl.py
https://github.com/tensorflow/tensorflow/pull/29387#discussion_r290437842
:

"""
image = ops.convert_to_tensor(image, name='image')

if hasattr(dtype, 'is_floating') or hasattr(dtype, 'is_integer'):

This looks nice. But wouldn't it throw an error at the if condition when
is_floating attribute does not exists in the dtype.
As an example:
dtype = intif not dt.is_floating and not dt.is_integer:
raise AttributeError("Type object has no attribute is_integer or is_floating")
This will raise the error
AttributeError                            Traceback (most recent call last) in ()----> 1 if not dt.is_floating and not dt.is_integer:
2     raise AttributeError("Type object has no attribute is_integer or is_floating")
AttributeError: type object 'int' has no attribute 'is_floating'
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/29387?email_source=notifications&email_token=AAABHRMMDRL73P5PIYAG6VDPY2ZXHA5CNFSM4HS24SKKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB2R7YBY#discussion_r290437842,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAABHRMBK6ZIFSFW3NWNSN3PY2ZXHANCNFSM4HS24SKA
.

--

Alex

@alextp Hey I've done the necessary changes.

@imransalam this just forces the creation of a dtype object; it doesn't validate that it's floating or integer.

@alextp added the check

@imransalam Could you please check failed build errors? Thanks!

@imransalam Can you please address Ubuntu Sanity build failures? Thanks!

@imransalam Can you please address Ubuntu Sanity build failures? Thanks!

I looked at the invocation log,
2. do_pylint PYTHON2: Python 2 pylint
  FAIL
3. do_pylint PYTHON3: Python 3 pylint
 FAIL

These two have failed. Do you have any idea why they might occur ? Thanks

The linter is failing. If you search in the logs you'll see the specific
warnings.
On Tue, Jun 11, 2019 at 7:31 AM Imran Salam notifications@github.com
wrote:

@imransalam https://github.com/imransalam Can you please address Ubuntu
Sanity build failures? Thanks!
I looked at the invocation log,

do_pylint PYTHON2: Python 2 pylint
FAIL
do_pylint PYTHON3: Python 3 pylint
FAIL

These two have failed. Do you have any idea why they might occur ? Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/29387?email_source=notifications&email_token=AAABHRIA2IKEU7ZHIGMJNW3PZ6ZKHA5CNFSM4HS24SKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXNJLDI#issuecomment-500864397,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAABHROHRDT5Q7E6NRMHCMDPZ6ZKHANCNFSM4HS24SKA
.

--

Alex

authors: alextp gbaned imransalam


text:
[bazel] Remove rules_cc dependency

This public repository is seemingly dead as far as using it as a
replacement cc toolchain. Because of this, and tensorflow's use of some
files under @bazel_tools, this can lead to incompatibilities https://github.com/bazelbuild/bazel/pull/13449#issuecomment-994882040
Since this repo isn't active, and doesn't provide anything over the
default bazel infra that tf needs, we can just drop it.

Interested to see if CI agrees with this

The cc_shared_library is some feature from rules_cc TF's migrating to. Can you upgrade rules_cc to a version that contains this fix?

I've submitted https://github.com/tensorflow/runtime/pull/86 although the PR template said the repo is not accepting contributions!

We can also add rules_cc here to override the version: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/workspace3.bzl#L7

The other repo has a fail() if it already exists to make sure it can apply a patch

@keith Can you please resolve conflicts? Thanks!

Hi Keith, sorry for the confusion about tensorflow/runtime not accepting contributions. I approved your change and will get it merged. Thanks.

Thanks!

Fixed by the runtime update and https://github.com/tensorflow/tensorflow//commit/861059969df2f4992ce76e7c1ca962ed86719a71

Thank you so much! Now I can enable TensorFlow in Bazel's downstream!

authors: chsigg gbaned keith meteorcloudy


text:
[Bug Report] enable async crashes or hangs in tt-train nano_gpt

Describe the bug
If enable async in nano_gpt example.  it will crash or hang randomly.
Also performance in async mode is worse than without
To Reproduce
Steps to reproduce the behavior:

turn on async in Turn on caching in the https://github.com/tenstorrent/tt-train/blob/main/sources/examples/nano_gpt/main.cpp
run nano_gpt
crash or hang

Expected behavior
It should work faster and don't hang.
Additional context
It is a big blocker for us. @davorchap  expects it will improve our performance.

@tt-asaigal any updates on this?

@tt-asaigal any updates on this?

Hey @jvasilje: @davorchap , @dmakoviichuk-tt  and I spoke offline. The conclusions were as follows:

Async Mode isn't expected to help with single device use-cases. We see this with inference workloads in Metal as well: performance benefits are seen with multi-chip workloads.
Based on 1, I was told that the priority on this could be reduced for now since this isn't a blocker for single chip training.

If it makes sense for me to take a look now, I can do so.

@tt-asaigal @dmakoviichuk-tt re-labeling to P1.

@davorchap  @tt-asaigal  Since we already started our work on multiple devices in it nice have it done faster.

authors: dmakoviichuk-tt jvasilje tt-asaigal

repo: tenstorrent/tt-metal


text:
Model team/rotary embeddings llama

Rotary Embedding Op for Prefill

Fused entire rotary embedding op (transformation matmul, elementwise multiplication with sin and cos, and element wise addition) into a single op
Supports sequence length in power of 2: 128, 256 ... 2K, 4K, 8K, 16K
Support arbitrary number of heads (e.g. 71)
10x perf improvement to previous 2K seqlen rotary computation.

Op input requirements

The input dimensions are as follows: [batch, num_heads, seq_len, head_dim]
The sequence length must be a power of 2
The transformation matrix should be the size of one tile
Only supported data type is bfloat16
The head dim must be at most 256 (8 tiles wide), and must be a multiple of 32
The compute has a granularity of head_dim/tile_width, which means there can be a maximum of 8 tiles in the registers.
If head_dim exceeds 128, then fp32_dest_acc_en must be set to false.

Perf breakdown by seqlen (8 heads/1 head @800 MHZ)

Implementation

Parallelization across multiple cores is done as follows:

The input is divided into rows, and then spread out across multiple cores over. Best case: each core only operates on 1 row. However, as seq_len scales, each core may be required to process multiple input rows

num_rows_per_core = num_rows / num_cores

Since each input row must be operated on by it's corresponding sin/cos row, group rows that require the same sin/cos row, and pass that to a core. This results in less duplication of the sin/cos matrix across different cores. Ie, split cores based on the rows in the sin/cos matrix, where each core has one assigned sin/cos row.

To find out how how many cores one sin/cos row is responsible for: num_cores_per_sin_cos_row = num_cores / Ht, where Ht is the number of rows in a sin/cos matrix

The above works for seq_len <= 2k and with 64 cores. However, as seq_len scales and num_cores remains constant, num_cores_per_sin_cos_row < 1. As a result, multiple sin/cos rows must be assigned to each core, to compensate.

@avoraTT Please start a post commit tests to make sure CI is passing before merge

authors: avoraTT caixunshiren


text:
Mixtral: Add EoS token stop to demo

This avoids bad output generation after user finishes generated for large number of iterations.

Demo CI passing here: https://github.com/tenstorrent/tt-metal/actions/runs/9399624935


text:
Documentation for features of ttrt

Need documentation on what features are available through ttrt and examples on how to use each and every feature

merged: e1ccf6f06162ea84df8d89c0cca7a17a93bbd3e9

repo: tenstorrent/tt-mlir


text:
#470 | update README with how to develop section

@phuonglm Please review
connect #470

assigned to @hieptranquoc to review

@hoavt pls merge into 1 commit!

authors: hieptranquoc hoatle hoavt

repo: teracyhq/dev


text:
Use G59.3 As TLR - tool length reference

Basically add an option to use the G59.3 directly as the TLR - Tool length reference. That way it's persistent between resets, and tools are measured compared to a static machine space point.
I don't know if this is a grblhal core thing or if it could just be set within iosender as T98 or something (since T99 is often used for 3d probe)

It is a core thing, the sender handles all tool change modes (except ATC toolchanges which are 100% transparent to the sender) the same way.
Associating a tool with the probe is new info for me, any links or further information on how this is supposed to work?

Basically, the PrintNC group runs G6T99 in to "pick" the probe, and touch off and set the tool offset reference.  But if a reset occurs, the initial TLO is lost and set to the next tool in the series instead which means G54 Z changes.  So the hope is to have a set TLR that survives a reset.

So the hope is to have a set TLR that survives a reset.

Ok, can you try with moving these lines to down below line 359 (after alarm)?
I am not able to test this myself as I am away.

I'll see if I can get a teensy environment setup for compiling tonight and give it a test.  Thanks.

Would it be possible to set a manual $TLR?
When we could set it at a known location that would basically provide a workaround route for just setting $TLR after homing.
We've tried issuing a $TLR (since the documentation implies this is possible) over the MDI and it responds with OK but doesnt give the tool referenced flag.

authors: Dietz0r LoganFraser terjeio

repo: terjeio/ioSender