Pact provider version 3.5.22 cannot find pacts on the broker

I bumped my dependency from 3.5.21 to 3.5.22, which was the only change in my code. I went from successfully building 11 tests to not being able to find a single one:
Running com.clearwateranalytics.pact.DonutsConsumerPactTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.912 s <<< FAILURE! - in com.clearwateranalytics.pact.DonutsConsumerPactTest
initializationError(com.clearwateranalytics.pact.DonutsConsumerPactTest)  Time elapsed: 0.005 s  <<< ERROR!
java.lang.Exception: Did not find any pact files for provider donuts-ws
Results:
Errors:
DonutsConsumerPactTest.initializationError »  Did not find any pact files for ...

I just ran into this and it drove me crazy because I started working on Pact with v3.5.22. After debugging the code, I believe it is a regression caused by https://github.com/DiUS/pact-jvm/pull/764

That's odd, i thought the change should allow pactbroker.consumers to be empty so that it tests all consumers. @uglyog isn't that right?

I'll have a look, it may be an unintentional regression. It should have not had an effect if not used.

3.5.23 has been released with this fix


Update clean-css to latest version

I've updated the clean-css dependency to version 4.* since it is using a newer version of source-map which is compatible with webpack 2. Currently oy is not working with webpack 2 due to some dynamic requires in source-map.

Update package.json dependecy
Update Render.js since minify() of version 4 can't handle undefined
Remove CSS unsafe check for closing style tag since clean-css takes care of it in the new version. It returns empty styles plus a warning in the result of minify.
Remove tests for closing style tag

Hi, do you have any thoughts on this change?

@revivek Do you have any thoughts on this? Would love to hear your feedback.

Sorry for the delay—I've been traveling for the last 3 weeks and just got back. Will try to review this weekend.

Thanks a lot @revivek

Thanks, this looks good to me! Interesting that webpack is a use-case here. I've only ever used webpack for bundling assets, though I suppose there's nothing holding it back from being used for backends too. Once you resolve the conflicts, I'll merge.

@revivek Thanks a lot for reviewing. Addressed the conflicts and should be good to go now.

Word.


Allow transformation from Rosetta to PURE

Using the rosetta codegenerator project, we will like to have  a way to do adhoc transformations from Roestta to Pure syntax

This issue is stale because it has been open for 30 days with no activity. Please remove stale label or add any comment to keep this open. Otherwise this will be closed in 5 days.

This issue was closed because it has been inactive for 35 days. Please re-open if this issue is still relevant.


Operaciónn irregular - irregular transaction

Se ha hecho una operación irregular desde mi cartera que yo no he autorizado.
Que se puede hacer?
Esta protegida con contraseña tanto la cartera cómo las claves privadas.
Me pueden ayudar?
Tengo disponible la captura de pantalla
An irregular operation has been made from my portfolio that I have not authorized.
What can be done?
It is password protected both the wallet and the private keys.
Can you help me?
I have the screenshot available
GRACIAS

Hello,
1/ do not panic !
2/ forget about Multibit !!! After my 'heart attact' and adrenaline shots, thinking I lost my coins, I moved my coins to another wallet. And afterwards I tried multibit HD again, latest version. So moved them back offline at MiltiBit wallet. Now without changing my password. I opened my wallet three times, and the same thing happened. I could not access the wallet any longer. Repair did not work. Password recovery did not work.
It is amazing that they DARE to make such a release. So... forget about Multibit HD.
3/ install breadwallet on your mobile phone or tablet. Will take some time to sync before you can use it !
4/ under settings > start/recover another wallet. Enter here your word phrase (12 words or so).
5/ takes a while, but your account is safe.
It is clear... all these BitCoin things... everything is in 'beta phase'. With lots of errors and issues. And before you know it (if you are not carefull), you lock yourself out.
Good luck to you
regards
Dirk
PS: let me know if it worked.


Garbage collection updates for 1.9

Updates the garbage collection documentation for the v1 workloads api.

This change is

@kow3ns Bumping for response to review. ☝

@kow3ns Deadline for completion is tomorrow, Friday, December 8th.
/cc @idvoretskyi

@kow3ns Docs code freeze begins today at 7pm Pacific time. Without a complete tech review, this feature documentation will not be included in the 1.9 release. Please:

Incorporate technical review until it's /lgtm.
Incorporate docs feedback until it's /lgtm.
Give me a @mention with any updates.

/cc @enisoc @idvoretskyi

LGTM

Docs LGTM :shipit:


Load Protocol does not recognize Saved Protocols

No files are visible when clicking Load in Protocol

Protocols have been updated to tab separated values (.tsv) instead of comma separated values. There is also now a filter that will only show you files that end in .tsv. See example_protocol.tsv for latest format.

Also now allowed for .. However, since we are actively adjusting the performance of the protocol, the latest example will be the only one that should be guaranteed to work.


Archiving without tar but preparing

In environments with huge databases it would be great if I can change archiving settings to not to tar the archived backup (my backup needs 6hrs to tar, extracting that in disaster case would not be funny :)), just move it to the archive folder.

Hi,
Thanks for report.
How do you think? Is it okay, if I will implement the archiving like this?

Define archive command in config file; such as archive_cmd = /usr/bin/tar ....etc
If defined, run specified full command.
If it is not defined, then move(mv) old backups(both full and incrementals) to specified archive directory.

Hi,
I would suggest to Provide prepare the backups without tar. Maybe as you did suggest but with preparing optionally? archive_prepare=true or anything like that?
Merry Christmas!
Best
Sven
Am 21.12.2017 um 20:19 schrieb Shahriyar Rzayev <notifications<EMAIL_ADDRESS>Hi,
Thanks for report.
How do you think? Is it okay, if I will implement the archiving like this?

Define archive command in config file; such as archive_cmd = /usr/bin/tar ....etc
If defined, run specified full command.
If it is not defined, then move(mv) old backups(both full and incrementals) to specified archive directory.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/ShahriyarR/MySQL-AutoXtraBackup/issues/246#issuecomment-353435056, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHiMly19kmK082h4KLLsaxXs1mSIsxYZks5tCq9TgaJpZM4RJclB.

With this fix:
https://github.com/ShahriyarR/MySQL-AutoXtraBackup/issues/223
All backups are preparing prior archiving with 1.5.1 version of autoxtrabackup.
So basically, you want to choose:

prepare + archive
or
just archive

And also you want to have:

passing archiving command possibility
or
just moving backups to archive directory

Implemented and merged to release_v1.5.2
Will be available on 1.5.2 version of autoxtrabackup.
Thanks for report.


Remove some Debug/Eq/PartialEq derives

I'd used them to do let is_terminator = *(obj.as_ptr()) == PyMemberDef::default();, which blew up pretty badly. 😆

I'm ok with removing these, though can a little more context on how you got to that point and what blew up? I don't see how these derives are themselves deferencing pointers, and obj was presumably non-null? 😖
Also unless we think there are soundness concerns, probably need to keep these around until 0.19.

I'm ok with removing these, though can a little more context on how you got to that point and what blew up?

I was reading these things from random python objects (for fun).

I don't see how these derives are themselves deferencing pointers, and obj was presumably non-null? 😖

It's not that these derives are broken - the issue is that them existing makes it really easy to make the same mistake I did. So I think it would be better to not have them.

It's not that these derives are broken - the issue is that them existing makes it really easy to make the same mistake I did. So I think it would be better to not have them.

It is still not clear to me how the derives would cause any crashes. Was it maybe *obj.as_ptr() itself that was crashing?

Ok, that makes sense. Removing those impls is a breaking change though, so we would at least need the news fragment. I am not sure the foot gun is worth the breakage? Also w.r.t. the PartialEq impls etc. present elsewhere in these modules. The impls also take &self which requires a fully initialized object, so it was the creation of that reference which triggered the UB. (So the array should have had the type [MaybeUninit<PyMemberDef>; N]?)
The comments are definitely helpful IMHO. Would you consider this PR reduced to the comments completely useless?


Add support for Python3

Add setup.py script for installation on both python 2 and 3 using 2to3
One other change required: encode string before feeding it to md5

I was originally adding this as a PR to the original maintainer, @cbick, but then I saw you're the one maintaining the PIP entry. The setup.py file I created is a bit more dense then yours (it contains author info etc), please let me know how you feel about that.
Since no new functionality is introduced besides enabling install for Python3, I've only upped the patch part of the version number.

Thanks for this!
I'm more than happy to include the @cbick as author (and in fact add to PyPI), but of course cannot answer if he wants his details and email address in there.
By the way, I've added some simple Travis CI static analysis to the repo, and will have a look at running the tests there too.

Already removed :)
If there's no objections about the contact details I'll merge this tomorrow.
It would be good to get Travis to pass for Python 3. I'm not sure how to do that with 2to3, but this can be another issue.

The contact details exist in the repo as an image, which is included in the html page: https://github.com/cbick/osmviz/blob/master/html/images/email.gif
Not sure whether @cbick reads these comments at all so I'm not sure what he thinks about adding it to the setup.

Sorry for the inattention. It's fine with me if you put my info in, although it's also fine with me if someone else would like to put theirs instead.

Thanks!

Nice!


VM templates set/updated via terraform are not reflected in the UI (and AMI)

Internal reference: SURE-5065
Reported in 2.6.6
Issue description:
When updating a VM template, the changes made do not take in the UI. See GitHub issue for more info: https://github.com/rancher/terraform-provider-rancher2/issues/857
This issue was also noticed when changing AMI's of downstream amazon cluster.
Business impact:
This is not clear, can be confusing or very concerning to users.
Repro steps:
The issue seems to be after the creation step: when the user goes in and edits a Vsphere VM template of a node pool for a downstream cluster created in Rancher via Rancher terraform provider, it allows them to click the Save button, but when the UI is refreshed, it still shows the original VM template and does not appear to change the cluster on the back end at all (e.g. rolling nodes to new VM).
Workaround:
None
Actual behavior:
Shows incorrect VM template (or AMI)
Expected behavior:
Shows correct VM template (or AMI)

Found some Terraform samples here in case this helps up reproduce what to do: https://registry.terraform.io/providers/rancher/rancher2/latest/docs

Update: this is also reproducible on AWS. A Terraform template file is available via the SURE ticket.

Let's try this on AWS with an AMI first since that will be quicker. This may point to a past issue involving labels not being applied accordingly (need to find & link).

Bumping out based on current capacity and what's automatable.

Pushing to Q4.

Pushing to Q1 now due to other priority work and other releases.

Some updates from last week regarding this issue:
Conditions

Since I lack the access to vsphere + it needs a VPN and running a local backend, I tested this with amazon EC2 provider
The changing AMI's I considered as changing the AMI ID

Findings

Cannot reproduce the issue running the latest TF provider for amazon, updating AMI ID on a cluster with similar conditions as the one decribed on the JIRA issue (check main.tf there)
Sometimes are two requests done (PUT) when updating the machine-pool, which can happen because of conflict 409 when updating the actual resource. Can this lead to inconsistencies? 🤔
There's an issue updating the AMI ID with a TF provided cluster with TWO machine-pools. This differs from the JIRA issue reported, but it should be investigated further as I haven't been able to pinpoint the root cause and probably be logged as a separate issue.

Here's the cluster config on where this separate issue has been found:
# Create a new rancher v2 Cluster with multiple machine pools
resource "rancher2_cluster_v2" "foo-rke2" {
  name                                     = "foo-rke2"
  kubernetes_version                       = "v1.26.8+rke2r1"
  enable_network_policy                    = false
  default_cluster_role_for_project_members = "user"
  rke_config {
    machine_pools {
      name                         = "pool1"
      cloud_credential_secret_name = rancher2_cloud_credential.foo-creds.id
      control_plane_role           = true
      etcd_role                    = true
      worker_role                  = false
      quantity                     = 1
      drain_before_delete          = true
      machine_config {
        kind = rancher2_machine_config_v2.foo.kind
        name = rancher2_machine_config_v2.foo.name
      }
    }
    # Each machine pool must be passed separately
    machine_pools {
      name                         = "pool2"
      cloud_credential_secret_name = rancher2_cloud_credential.foo-creds.id
      control_plane_role           = false
      etcd_role                    = false
      worker_role                  = true
      quantity                     = 2
      drain_before_delete          = true
      machine_config {
        kind = rancher2_machine_config_v2.foo.kind
        name = rancher2_machine_config_v2.foo.name
      }
    }
  }
}

FYI @richard-cox

@momesgin take a look at the tf file that comes with the JIRA issue and compare with the above configuration. They should be pretty similar.

I was able to successfully update the VM template through UI from mo-ubuntu-20.04-cloudimg to jammy-2-cloudimg-amd64 for an RKE2 vSphere cluster that was provisioned in Rancher via Terraform:
terraform {
  required_providers {
    rancher2 = {
      source = "rancher/rancher2"
      version = "1.24.0"
    }
    vsphere = {
      source = "hashicorp/vsphere"
      version = "2.2.0"
    }
  }
}

# Provider bootstrap config
provider "rancher2" {
  api_url   = "..."
  access_key = "..."
  secret_key = "..."
  insecure = true
}

provider "vsphere" {
  user           = "..."
  password       = "..."
  vsphere_server = "..."
  allow_unverified_ssl = true
}

data "vsphere_datacenter" "datacenter" {
  name          = "/Datacenter"
}

data "vsphere_folder" "folder" {
  path = "/Datacenter/vm/mo"
}

data "vsphere_virtual_machine" "template" {
  name          = "/Datacenter/vm/mo/mo-ubuntu-20.04-cloudimg"
  datacenter_id = data.vsphere_datacenter.datacenter.id
}

data "vsphere_datastore" "datastore" {
  name          = "datastore1"
  datacenter_id = data.vsphere_datacenter.datacenter.id
}

resource "rancher2_machine_config_v2" "foo" {
  generate_name = "mo-tf"
  vsphere_config {
    datastore       = data.vsphere_datastore.datastore.name
    cpu_count = "4"
    memory_size = "4096"
    disk_size = "20000"
    creation_type = "template"
    clone_from = data.vsphere_virtual_machine.template.name
    folder = data.vsphere_folder.folder.path
  }
}

# Create a new rancher2 RKE2 Cluster
resource "rancher2_cluster_v2" "mo-tf" {
  name = "foo-custom"
  kubernetes_version = "v1.22.11+rke2r1"
  enable_network_policy = false
  default_cluster_role_for_project_members = "user"
  rke_config {
    machine_pools {
      name = "pool1"
      cloud_credential_secret_name = "..."
      control_plane_role = true
      etcd_role = true
      worker_role = true
      quantity = 1
      machine_config {
        kind = rancher2_machine_config_v2.foo.kind
        name = rancher2_machine_config_v2.foo.name
      }
    }
  }
}

Updating:
https://github.com/rancher/dashboard/assets/135728925/5984aa02-dede-4d75-93dc-727853ef3651
After the update being finished:
https://github.com/rancher/dashboard/assets/135728925/76d6be11-437e-4b36-bb90-08526cf8affa

For the EKS nodegroup part, with launch template having custom AMI, on build v2.8-4350b89f75e08530c9e9c082dca6e4328eabf453-head, still seeing issue https://github.com/rancher/dashboard/issues/9406

Reproduced on Rancher v2.8.1
Passed on Rancher v2.8.3-rc5
I was able to change the template to other newly created using the vSphere console. I changed the setting to the new using the UI form, the cluster start updating with new nodes and start creating them using the new template the old nodes get deleted and the cluster get active, all new nodes in the cluster use the new template.

@gaktive, since this has been approved by QA would this close SURE-5065?


[Bug Report] form validation does not work with v-model but it works with using :model

Element UI version
2.4.2
OS/Browsers version
mac os chrome
Vue version
2.5.16
Reproduction Link
https://jsfiddle.net/oga09bk4/13/
Steps to reproduce
type any string in input field
What is Expected?
form should be valid if any character is typed in the input field
What is actually happening?
it is not validating.
NOTE:
the validation works after changing v-model="ruleForm" for :model="ruleForm"

Your demo seems to be irrelevant.
This is not a bug:


change the detail

all work fine, but how can I change the running background text? I change "PedometerService.java" at android project, but its not change

Hey. You have to change the input variable of startNotification function. Then re-build the Android project and place the new .aar file to Assets/Plugins/Android
private void startNotification(){
        String input = "Counting your steps...";
        Intent notificationIntent = new Intent(this, Bridge.myActivity.getClass());
        PendingIntent pendingIntent = PendingIntent.getActivity(this,
                0, notificationIntent, 0);
        Notification notification = new NotificationCompat.Builder(this, "PedometerLib")
                .setContentTitle("Background Walking Service")
                .setContentText(input)
                .setSmallIcon(R.mipmap.ic_launcher)
                .setContentIntent(pendingIntent)
                .build();
        startForeground(112, notification);
    }

oh i see. i need change and rebuild that. thanks


Add .editorconfig

I don't think I have the correct rights to request a re-run of the CI. @Roasbeef @guggero could you guys press re-run please? It would be interesting to see whether we see the same error.

Re-ran CI, seems to be a flake. Created an issue to track the flake.


dashboard: check ClientUrls length

Signed-off-by: Zheng Xiangsheng<EMAIL_ADDRESS>
What problem does this PR solve?
#2323
What is changed and how it works?
Check the length of ClientUrls of all members. If it is 0, it is considered that members are not ready.
Release note
Check List
Tests

Manual test

The panic happened inside needResetAddress actually

Codecov Report

Merging #2326 into master will increase coverage by 0.25%.
The diff coverage is 20.00%.

@@            Coverage Diff             @@
##           master    #2326      +/-   ##
==========================================
+ Coverage   77.01%   77.27%   +0.25%
==========================================
  Files         203      203
  Lines       22315    22324       +9
==========================================
+ Hits        17187    17251      +64
+ Misses       3829     3783      -46
+ Partials     1299     1290       -9

Impacted Files
Coverage Δ

pkg/dashboard/manager.go
78.33% <20.00%> (-4.55%)
:arrow_down:

pkg/metricutil/metricutil.go
86.11% <0.00%> (-5.56%)
:arrow_down:

pkg/mock/mockhbstream/mockhbstream.go
89.23% <0.00%> (-1.54%)
:arrow_down:

server/member/leader.go
73.10% <0.00%> (-1.27%)
:arrow_down:

server/tso/tso.go
80.29% <0.00%> (-0.73%)
:arrow_down:

client/base_client.go
91.03% <0.00%> (+0.68%)
:arrow_up:

server/core/storage.go
74.64% <0.00%> (+0.93%)
:arrow_up:

server/config_manager/config_manager.go
79.22% <0.00%> (+1.14%)
:arrow_up:

server/cluster/cluster.go
85.43% <0.00%> (+1.21%)
:arrow_up:

server/region_syncer/client.go
86.25% <0.00%> (+1.52%)
:arrow_up:

... and 6 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 a22224d...79ea179. Read the comment docs.

/merge


Install?

Sorry for the n00b question here, but while I'm a developer, I'm new to Joplin.
Normally for a Joplin plugin, I get one of:

jpl - great for my Windows/Mac/Android devices (actually, haven't checked Android yet)
npm - great for my mac as I use npm there, too bad for Windows

I see ppl talking about installing it, yet there's nothing in your ReadMe here, the discourse, or the files themselves.  Do I need to compile the jpl and if so how or just put in a folder and again, if so, where?
Thanks.  Excited to try this out, given I"m currently spending more time in Joplin than I am in Atom these days.

Hi @Entreprenerdz, no worries, this has come up before and i really should include install instructions in the readme.
Initially plugins required a jpl file to install because the plugin system was in beta and the install procedure wasn't finished. Now (v1.6.1 and up) you can easily install plugins through the Joplin settings.
Just open the options menu Tools -> Options (Joplin -> Preferences on mac) and select plugins. It should be about halfway down the side bar.
In this menu you'll see a list of your currently installed plugins (if you have any) and a search bar. You can use this searchbar to search the name of any plugin and get a one click install. You'll be prompted to restart the application once the plugin has downloaded. Once you restart everything will be installed and setup!
Alternatively, you can download a jpl file and place it in the plugin directory of your Joplin install. But that's more of a development/debugging way to install.
I hope that all makes sense. I'll be updating the readme soon so there isn't any more confusion.

It makes total sense!!  Which is why I can't figure out why ONLY on my Macs, the search box is disabled.
I've been using .jpl files as a workaround and to be honest, it's kinda preferred as I download them into a sync'd folder and that makes it very easy to update the PC and other mac.
Here's what I'm seeing on my Mac... (not sure if you can tell but I assure you it's disabled/greyed out) if you don't happen to know of a fix for this (to be able to search for your plugin), any chance you have a .jpl of it kicking around?

That's interesting, I wasn't aware of this bug. In case you still need it, i do provide a jpl file with the most recent changes. Which means it sometimes tracks ahead of the release version.
https://github.com/CalebJohn/joplin-rich-markdown/blob/main/publish/plugin.calebjohn.rich-markdown.jpl


Add support for python 3.10

This PR adds support for Python 3.10, Django 4, and Django-Rest-Framework 3.15.
None of the logic has needed an update for this upgrade, I've just had to update the tests so that we correctly assert missing values for Nullable/Optional fields. Between the last tested versions and the updated ones there have been updates to how Nullable fields are treated in DRF and they're now explicitly populated with None, the added test function recursively adds these in.

For anybody who ends up here in search of a recursive solution. There is a friendly fork of this package currently being maintained by Kraken Tech here (with the PyPi package available here). It currently support Python 3.10 & Python 3.11 and (I think) all valid combinations of DRF & Django that come with that!


Tooling updates

Use --isolatedModules as using a non-tsc transpiler is a little unsafe without it
Use --skipLibCheck as type checking libraries is largely redundant
Invoke typescript compiler via API to avoid warmup cost
Fix type checking for tests which was inadvertently disabled by tsconfig restructure
Stop using tsconfig entirely for command line builds except for type references
Only emit types for libraries, just validate for applications
New "graph" build command to display workspace dependency graph
New "--workspaces" build option removes NPM and TSC overhead from workspace build
On rebuild skip packages with no changes to source files or dependencies
More robust bootstrapping for build & run
Improved modularity of tooling code, mostly to support workspace builds
Fix various relative path resolution issues when using --prefix
Infrastructure is in place for parallel build but didn't bother as it'd require UI work

@vilic if you like ... be invited for review too ... you also seem to know a bit on Typescript and such :-)

@vilic if you like ... be invited for review too ... you also seem to know a bit on Typescript and such :-)

Thanks for the invitation. I looked through the changed files, but honestly this PR is both overwhelming and hard core to me. As the workflow doesn't seem familiar, and I never used many APIs appears in this PR.
But to the part I understand, it looks good to me. Actually I considered to replace all const enum to enum in my previous PR, but thought there would be too many changes. As they are now replaced, I suggest adding a lint rule banning the usage of const enum.
Some other suggestions/questions related:

Why not using .prettierignore instead of list of patterns? VSCode extension automatically formats everything that's not in the ignore list anyway. Which may result in some unnecessary changes in a PR polluting the line history.
skipLibCheck is good, but that also skips .d.ts in source code. Need a convention that bans .d.ts as source code.
I genuinely wonder how do you watch the build? Or you guys just don't do that, at least for now?

I can tell for 3.)
Because I most need to work with matter.js in general and matter-node or shell or such as a secondry target this is all not really making sense with watch (We still did not found out how to have a "sub project" (matter-node.js) also use the ts stuff and such ... so I do not use "watch" in this case here.

PS: Thank you very much for your time to check it. I totally agree to your first paragraph ;-)) "Black magic" :-)

Thanks @vilic  You're right, .prettierignore seems like a better way to go.  I'll make the change next time I have to touch the whitelist if nobody does it first.  Also good point on .d.ts files, maybe a custom eslint rule is in order.
I don't really watch either, between large refactors and code gen I seem to have the world blown up a lot. I've used nodemon a couple of times but mostly just have esbuild and/or npm build pipelined before run/debug.
I considered adding a watch script to the root package.json using nodemon and our "build" but figured if we're going to maintain your tsconfig structure then tsc build/watch might be preferrable.

@lauckhart You may also consider that for eslint as well. BTW single quote (related pattern lists in package.json scripts) is not compatible on Windows (cmd) either.

BTW single quote (related pattern lists in package.json scripts) is not compatible on Windows (cmd) either.

Ah right, that raises the priority on moving to dotfiles.  I opened #425 to track.


.stylelintignore is not respected

First of all, thanks for the plugin, we are using it in our Yeoman generator.
Recently after updating to 4.0.0 version in generated projects, it seems that gulp-stylelint stopped respecting .stylelintignore we use in those projects.
Was wondering if it has something to do with stylelint update to v8.0.0, but when I run stylelint CLI on a project, it respects  .stylelintignore
Thanks

Hmm. Thanks for opening this issue. In fact, I'm surprised it worked before. Stylelint ignores files only when running a glob search itself. But gulp-stylelint pipes file data directly into stylelint based on what you pass to gulp.src, so stylelint just blindly accepts everything.
It seems that gulp-stylelint will need to read .stylelintignore and ignore some files that piped through. This is quite a side-effect...

It worked with v3.9.0, I've created a test case for it https://github.com/luboskmetko/test-gulp-stylelint
They introduced some .stylelintignore changes here https://github.com/stylelint/stylelint/pull/2464, cannot it be related?

I'm facing the same issue, any update?

Any update?


Links in posts don't open when clicked

When I click on a link in a post nothing happens. Shouldn't Elk open a web page (either in Elk itself or in the default browser)?
This happens with both nightly23.1.16 and nightly23.1.13.

This is fixed by #25 and will be released in another update later today 👍🏻


Don´t remove building tags when adding amenity=school

Hi, someone in my area fixed an note and added a new school. After that the building tag is missing. I saw that ID was used and tried to reproduce it with another building and checked the tags. Unfortunately the building-Tags were removed.
How to reproduce

Open ID and go to an building
Seklect the building an search in the sidebar for school
Select the preset and chosse it
building=* is removed

This also happened in the past with other objects in combination with buildings, for example restaurants. Maybe thats a bigger problem, because building tags should not removed when they are marked as an POI. The building remains there an does not magically disappear when it is used fully as an POI.
Greetings Eifelkobold
Screenshot(s) or anything else?
No response
Which deployed environments do you see the issue in?
No response
What version numbers does this issue effect?
No response
Which browsers are you seeing this problem on?
No response

I agree, it's a bigger problem.
Related issues: https://github.com/openstreetmap/iD/issues/9104, https://github.com/openstreetmap/iD/issues/5883

Would it also work when adding a 'highway' field to the ski (piste:type=) presets? From time to time highway=tracks are disappearing from the map this way.

@yvecai yes, that should work. Would you mind opening a new issue for this on https://github.com/openstreetmap/id-tagging-schema/issues, so that we can fix that in the presets accordingly?


HARP-7931: Also take fallback tiles into account when computing min a…

…nd max elevation

Codecov Report

Merging #1083 into master will increase coverage by 0.12%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1083      +/-   ##
==========================================
+ Coverage   46.14%   46.27%   +0.12%
==========================================
  Files         238      251      +13
  Lines       22250    22475     +225
  Branches     5008     5047      +39
==========================================
+ Hits        10268    10401     +133
- Misses      11982    12074      +92

Impacted Files
Coverage Δ

@here/harp-mapview/lib/VisibleTileSet.ts
70.47% <100%> (+0.53%)
:arrow_up:

@here/harp-materials/lib/Utils.ts
20% <0%> (-80%)
:arrow_down:

@here/harp-materials/lib/IconMaterial.ts
44.44% <0%> (-55.56%)
:arrow_down:

@here/harp-map-controls/lib/Utils.ts
46.15% <0%> (-23.85%)
:arrow_down:

@here/harp-omv-datasource/lib/OmvTiler.ts
50% <0%> (-16.67%)
:arrow_down:

@here/harp-utils/lib/ObjectUtils.ts
83.33% <0%> (-10.22%)
:arrow_down:

@here/harp-utils/lib/UrlUtils.ts
82.92% <0%> (-8.25%)
:arrow_down:

@here/harp-datasource-protocol/lib/Extruder.ts
8.33% <0%> (-5.96%)
:arrow_down:

@here/harp-lines/lib/TriangulateLines.ts
11.9% <0%> (-2.99%)
:arrow_down:

@here/harp-utils/lib/Logger/ConsoleChannel.ts
69.23% <0%> (-0.77%)
:arrow_down:

... and 29 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 f8a6a47...5d77c9e. Read the comment docs.


Chained promises produce incorrect types

TypeScript Version:  nightly (2.1.0-dev.20160918)
Code
class A {
    json(): Promise<any> {
        return Promise.resolve({});
    };
}

function test() {
    let p = Promise.resolve(new A());
    p.then(x => x.json()).then(x => x.b);
}

Expected behavior:
Compiled without errors
Actual behavior:
Compiled with an error
error TS2339: Property 'b' does not exist on type 'A'.

I can repro this. This made it a bit clearer:
function test() {
    let p1 = Promise.resolve(new A());  // p1 is Promise<A>
    let p2 = p1.then(x => x.json());    // p2 is Promise<A>, but should be promise<any>
    let p3 = p2.then(x => x.b);         // x is A, but should be any
}

The incorrect inference ocurrs on the let p2... line and is a result of choosing the first then overload from the Promise<T> definition in lib.d.ts.
It looks like a result of the changes to the then overloads made recently in #10448.

Also, Promise.all is still inferred incorrectly sometimes.

Just updated from 2.1.0-dev.20160911 to 2.1.0-dev.20160928 and run into this. Something simple like Promise.resolve({}).then(() => 'test') will now have the return type of Promise<{}> instead of Promise<string>.

same with 2.1.1,

Another problem I hit and a non-obvious workaround (shortened from RWC) --
function test2() {
    return new Promise<number>(resolve => {
        fetch('').then(response => {
            //without the cast, value below is Response and resolve() errors
            return response.json() as Promise<number>;
        }).then(value => {
            resolve(value);
        });
    });
}

This is a major bug !

same with 2.1.4

2.0.10 got the same behavior, Had to switch back to 2.0.7

@Alexander-Taran, 2.0.10 is not same as 2.1.x in my code.

You can be explicit and use then which let's you specify the result of your then block.

There is a difference between can and must. This is clearly a serious
regression
On 28 Dec 2016 3:12 AM, "Alexander Ekdahl"<EMAIL_ADDRESS>wrote:

You can be explicit and use then which let's you specify the result of
your then block.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/TypeScript/issues/10977#issuecomment-269346150,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADimvNfzi4-xpLjxtJYeH8C8SvvbqN26ks5rMTj2gaJpZM4KAGp9
.

This is huge. Could we get an official statement? This is preventing us from upgrading to 2.1 because all of our Promise chains fail to compile.

The changes made to the definition of Promise were added to address issues with assignability (#10524) and strict null checks. Just changing the order of the overloads does not solve the problem, as some ordering works better with strict null checks turned on, but makes things worse with strict null checks turned off.
I am currently investigating a solution that seems to be giving the right answer in all of these cases, but it needs further testing and discussion before I can put up a PR.

@mhegazy this isn't fixed for me. I use https://github.com/shlomiassaf/angular2-modal and this module have types problem from above 2.0.10.
let modal = this.modal.open(AddFolderDialogComponent, {context: new AddFolderContext(parentFolder)});
    modal
      .then(dialog => dialog.result)
      .then((folder: Folder) => this.store.dispatch(new AddFolderAction(folder)))

open() returns Promise<DialogRef<any>>, DialogRef.result contains Promise<any>, I get an error:

TS2345: Argument of type '(folder: Folder) => void' is not assignable to parameter of type '(value: DialogRef) => void | PromiseLike'.
Types of parameters 'folder' and 'value' are incompatible.
Type 'DialogRef' is not assignable to type 'Folder'.
Property 'id' is missing in type 'DialogRef'.

If I'm wrong, please, show me a way to fix it.

I confirm, this issue isn't fixed in typescript 2.2. This is a huge blocker !

It's got 2.3 tag. Fixed in there
On 27 Feb 2017 5:56 PM, "offirmo"<EMAIL_ADDRESS>wrote:

I confirm, this issue isn't fixed in typescript 2.2. This is a huge
blocker !
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/TypeScript/issues/10977#issuecomment-282642385,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADimvMxz24xWszvhLYTwIqSmtkCJdHs8ks5rgnOMgaJpZM4KAGp9
.

@MaximBalaganskiy Hm, this is a huge blocker as @Offirmo sad. I can't update typescript and angular because it depends on 2.1 now. Also 2.1 has object spreading :( @mhegazy Why it was moved to 2.3?

@MaximBalaganskiy 2.3 isn't available in npm yet...

npm install typescript@next -g should install the latest

@MaximBalaganskiy Sorry I understood you incorrectly. I thougth 2.3 is unavailable yet.


Protobuf version mismatch

When I am trying to install the package on RTOS side with command 'make -j build_franka=1', it giving the following errors:
/home/panda/deoxys_rtos_ws/deoxys_control/deoxys/build/proto/deoxys/franka_controller.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
12 | #error This file was generated by a newer version of protoc which is
|  ^~~~~
/home/panda/deoxys_rtos_ws/deoxys_control/deoxys/build/proto/deoxys/franka_controller.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
13 | #error incompatible with your Protocol Buffer headers. Please update
|  ^~~~~
/home/panda/deoxys_rtos_ws/deoxys_control/deoxys/build/proto/deoxys/franka_controller.pb.h:14:2: error: #error your headers.
Please help me , I am not able to resove these errors after so much of trying.
Unfortunately, protoc is installed at three locations with three different versions:
/usr/bin/protoc 3.6.1
/usr/local/bin/protoc   3.14.0
~/.local/bin/protoc 3.19.6
It seems the makefile looks for /usr/local/bin/protoc.
The code lines where the errors is coming compare with version 3.14.0 only at franka_controller.pb.h:12:2
Help is required !!

Closing it now !


🐛 BUG: Workers tail events turn undefined into null

Which Cloudflare product(s) does this pertain to?
Workers Runtime
What version(s) of the tool(s) are you using?
n/a
What version of Node are you using?
n/a
What operating system are you using?
n/a
Describe the Bug
Workers tail events will turn undefined into null, which confuses users as these types don't overlap & issues such as if (undefined === null) are not picked up by TypeScript.
This isn't an issue with Wrangler specifically, the same behaviour is observed in the tail events shown in the dashboard.
Discord link: https://discord.com/channels/595317990191398933/779390076219686943/1149351316112539718

Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
No response

I just hit this and spent far longer than I care to admit trying to debug it. It's especially problematic on nested object properties. As a simple repro:
export default {
	async fetch(request, env, ctx) {
		const response = await fetch('https://api.api-ninjas.com/v1/randomuser');
		const json = await response.json();
		console.log(json.test);
		return new Response('Hello World');
	},
};

  (log) null

json.test is absolutely not null, which has a very different meaning in JavaScript than undefined.

hi @KianNH and @Cherry , thanks for reporting this. i've raised this with the relevant internal team and they will look into this (internal ticket WP-850). as this is not a wrangler issue i'm going to close this issue, but i've linked it to the internal ticket and asked that any updates be reported back here as well :)

This is a tricky one. json can't represent javascript values such as undefined and NaN, so they have to be serialized to null. This trade-off was intentionally decided in the workers runtime. This could be solvable with a new TailRequest method to convert serialized null values back to their original js value.

Thanks @markjmiller.
Unfortunately, tail logs today without this distinction are at best, extremely difficult to use, and at worst, effectively useless. There is a a very strong difference in JavaScript between null and undefined, so this makes debugging extremely difficult, as per my trivial example above.


Add missing experimental plugins to build

The stale_response plugin had no auto_option, and http_stats did but its add_subdirectory call was missing. These were missed in #10967.

The AuTest bad_chunked_encoding failed.

[approve ci autest]

It was reported by @leontion.

Cherry-picked to v10.0.x


Make EditMember work on invite links

This looks great.  I guess the downside to this approach is that if you crash halfway through, they are out of the team.  I think that's OK.

Yeah, can't win them all...


acc and val_acc don't change?

I use LSTM to do a sequence labeling task, but I got the same acc and cal_acc for each epoch.
here is my code:
def moduleRnn(self):
model = Sequential()
model.add(LSTM(output_dim=64,input_length=self.seq_len,batch_input_shape=(16,1,200),input_dim=self.embed_length,return_sequences=True,stateful=False ))
#model.add(LSTM(output_dim=16,return_sequences=True,stateful=False ))
model.add(Dropout(0.2))
model.add(TimeDistributedDense(output_dim=self.labs_len))
model.add(Activation('softmax'))
model.compile(loss="categorical_crossentropy" , optimizer='rmsprop' , class_mode='categorical')
#model.fit(self.train,self.train_lab,batch_size=16,nb_epoch=3,verbose=1, validation_split=0.1,show_accuracy=True)
model.fit(self.X_train,self.Y_train,batch_size=16,nb_epoch=15,verbose=1,show_accuracy=True,validation_split=0.2)
score = model.evaluate(self.X_test,self.Y_test,batch_size=16)
print score
Anyone meets the same problem?  please help me

Do you mean training accuracy and validation accuracy doesn't change in training procedure?
You'd better post your logs

@ymcui  yes,it is.
Epoch 1/15
18272/18272 [==============================] - 118s - loss: 0.0479 - acc: 0.4296 - val_loss: 0.0285 - val_acc: 0.4286
Epoch 2/15
18272/18272 [==============================] - 114s - loss: 0.0322 - acc: 0.4297 - val_loss: 0.0282 - val_acc: 0.4286
Epoch 3/15
18272/18272 [==============================] - 113s - loss: 0.0319 - acc: 0.4297 - val_loss: 0.0281 - val_acc: 0.4286
Epoch 4/15
18272/18272 [==============================] - 114s - loss: 0.0317 - acc: 0.4297 - val_loss: 0.0283 - val_acc: 0.4286
Epoch 5/15
18272/18272 [==============================] - 120s - loss: 0.0316 - acc: 0.4297 - val_loss: 0.0281 - val_acc: 0.4286
Epoch 6/15
18272/18272 [==============================] - 117s - loss: 0.0314 - acc: 0.4297 - val_loss: 0.0281 - val_acc: 0.4286
Epoch 7/15
18272/18272 [==============================] - 115s - loss: 0.0314 - acc: 0.4297 - val_loss: 0.0280 - val_acc: 0.4286
Epoch 8/15
18272/18272 [==============================] - 119s - loss: 0.0314 - acc: 0.4297 - val_loss: 0.0280 - val_acc: 0.4286
Epoch 9/15
18272/18272 [==============================] - 116s - loss: 0.0312 - acc: 0.4297 - val_loss: 0.0280 - val_acc: 0.4286
Epoch 10/15
18272/18272 [==============================] - 116s - loss: 0.0314 - acc: 0.4297 - val_loss: 0.0280 - val_acc: 0.4286
Epoch 11/15
18272/18272 [==============================] - 115s - loss: 0.0313 - acc: 0.4297 - val_loss: 0.0280 - val_acc: 0.4286
Epoch 12/15
18272/18272 [==============================] - 113s - loss: 0.0312 - acc: 0.4297 - val_loss: 0.0280 - val_acc: 0.4286
Epoch 13/15
18272/18272 [==============================] - 113s - loss: 0.0312 - acc: 0.4297 - val_loss: 0.0279 - val_acc: 0.4286
Epoch 14/15
18272/18272 [==============================] - 113s - loss: 0.0312 - acc: 0.4297 - val_loss: 0.0280 - val_acc: 0.4286
Epoch 15/15
18272/18272 [==============================] - 114s - loss: 0.0312 - acc: 0.4297 - val_loss: 0.0280 - val_acc: 0.4286

@talentlei
In your log, the loss seems to start from a very low value, and converge very soon after a few epochs.
I've no particular idea about this, but I think you should check validity of your data. (and maybe remove batch_input_shape attribute in your LSTM layer, i guess.)

@talentlei Have solved the problem？ I stuck in the same situation when I use RNN， but I don't know how to solve it.

I have a similar problem. In my case when I attempt LSTM time series classification often val_acc starts with a high value and stays the same, even though loss, val_loss and acc change. I've narrowed down the issue to not enough training sequences (around 300). When I increased the number to 500+, it started to converge better, but still there are periods when loss, acc and val_loss changes, but val_acc sticks to the same value. How could that be? Is there a bug when it's not updating (even though loss, acc and val_loss update during the same epoch)?

A good method for debugging this issue is to use an ipython/jupyter notebook, compile the model, and then have it predict for one of your batches.   Then, go through the accuracy code with the ability to manually inspect the values of the matrices.   I've found stepping through code like this in mysterious situations to be enlightening.

@DSA101 Have you solved the problem? I am doing sentence classification task with variable sentence lengths using LSTMs. My problem is that training loss and training accuracy decrease over epochs but validation accuracy fluctuates in a small interval. Maybe your solution could be helpful for me too.

My solution was to increase the size of the training set, reduce the number of features, start with just one layer and not too many units (say 128). When I ensured that in such configuration the training progresses in a reasonable way, I have slowly added more features, more units, etc, and in the end got a satisfactory result. Still if I make the model overly complex (e.g. increase to 3 layers with say 512 units without providing more training data), it would behave the same as before - flat or irregular training accuracy.
In the end I don't know if there is still a bug in the framework, or it all results from an overly complicated model and the insufficient size of the training set, but all things considered, I am satisfied with the performance of the model and the results that I have achieved and believe that Keras LSTM is usable for time series classification.
So if your training acc improves but validation accuracy stays in a small interval, can it be indicative of overfitting?

I'm having the same issue. Loss and accuracy on the training set change from epoch to epoch, but the validation accuracy / loss doesn't, which is a bit odd.
Epoch 1/20
158/158 [==============================] - 24s - loss: 2.3558 - acc: 0.4051 - val_loss: 1.0986 - val_acc: 0.3684
Epoch 2/20
158/158 [==============================] - 24s - loss: 1.8001 - acc: 0.3924 - val_loss: 1.0986 - val_acc: 0.3684
Epoch 3/20
158/158 [==============================] - 24s - loss: 1.2940 - acc: 0.3608 - val_loss: 1.0986 - val_acc: 0.3684
Epoch 4/20
158/158 [==============================] - 24s - loss: 1.8052 - acc: 0.4114 - val_loss: 1.0986 - val_acc: 0.3684
Epoch 5/20
158/158 [==============================] - 24s - loss: 1.7127 - acc: 0.3734 - val_loss: 1.0986 - val_acc: 0.3684
Epoch 6/20
158/158 [==============================] - 24s - loss: 1.8030 - acc: 0.3734 - val_loss: 1.0986 - val_acc: 0.3684
Epoch 7/20
158/158 [==============================] - 24s - loss: 1.7076 - acc: 0.3861 - val_loss: 1.0986 - val_acc: 0.3684
Epoch 8/20
158/158 [==============================] - 24s - loss: 1.4173 - acc: 0.4241 - val_loss: 1.0986 - val_acc: 0.3684
Epoch 9/20
158/158 [==============================] - 24s - loss: 1.3042 - acc: 0.3797 - val_loss: 1.0986 - val_acc: 0.3684

The model I'm using is a convnet:
model = Sequential()
model.add(Convolution2D(20, 5, 5, input_shape=(3, img_width, img_height)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())
model.add(Dense(20))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(3))
model.add(Activation('sigmoid'))

sgd = SGD(lr=0.0005)
model.compile(loss='categorical_crossentropy',
              optimizer=sgd,
              metrics=['accuracy'])

Similar problem here. It really feels like a bug to me. The reason is that my validation set has 2500+ observations for a dataset of size like this, as long as there's change in the weights (and theres is since the training error is decreasing), there should be change in the val_loss, either positive or negative. Also it's unlikely it's overfitting as I'm really using heavy dropouts (between 0.5~0.7 for each layer).
My solution to this is changing the learning rate of the optimizer....sometimes it helps, haha. I've never experienced the same phenomenon using raw tensorflow so I think it's a keras thing.

I'm gunna throw my voice in here, too. I'm currently doing the Udacity Self-Driving Car Engineer Nanodegree course; my cohort is currently doing the behavioral cloning lab. We were given a dataset of approximately 20k+ features and labels; I take it and augment it with flipping - so I have about 40k of data. My convnet is the same one from the NVidia end-to-end paper (relu on all layers). I am using adam and mse for optimizer/loss. I've tried heavy dropout on the fully-connected layers, on all layers, on random layers. Ultimately, my validation accuracy stays stuck at a single value. I'd think if I were overfitting, the accuracy would peg close or at 100%? Rather, it seems like it is getting stuck in a local maxima. I think I'm going to need to do some visualization of the data, to verify that it is balanced, plus I have some other ideas to try, but so far it is very frustrating. I don't know if it is a bug with the framework; my best guess is that it is not, because other students are finding success.

@andrew-ayers Did you manage to solve this issue? I have a similar problem with NVIDIA (adam, mse, 120k samples including flipped data) model for Self_Driving Car Engineer course - validation loss changes but validation accuracy stays the same.

Have you solved the problem? I met a similar problem with my keras CNN model, my training samples were 4000, and validation samples were 1000. During the training process, the loss and val_loss was decreasing, but the acc and val_acc never changing during this process.
this is my code:
'inputs_x=Input(shape=(1,65,21))
x=Conv2D(64,(3,3),padding='same',data_format='channels_first',activation='relu',use_bias=True)(x)
x=Conv2D(64,(3,3),padding='same',data_format='channels_first',activation='relu',use_bias=True)(x)
x=MaxPooling2D(pool_size=(2,2),strides=(2,2))(x)
x=Conv2D(32,(5,5),padding='same',data_format='channels_first',activation='relu',use_bias=True)(x)
x=Conv2D(16,(5,5),padding='valid',data_format='channels_first',activation='relu',use_bias=True)(x)
x=MaxPooling2D(pool_size=(2,2),strides=(2,2))(x)
x=Dropout(0.25)(x)
x=Flatten()(x)
inputs_y=Input(shape=(1,32,21))
y=Conv2D(32,(2,2),padding='same',data_format='channels_first',activation='relu',use_bias=True)(y)
y=Conv2D(32,(2,2),padding='same',data_format='channels_first',activation='relu',use_bias=True)(y)
y=MaxPooling2D(pool_size=(2,2),strides=(2,2))(y)
y=Conv2D(32,(4,4),padding='same',data_format='channels_first',activation='relu',use_bias=True)(y)
y=Conv2D(8,(4,4),padding='valid',data_format='channels_first',activation='relu',use_bias=True)(y)
y=MaxPooling2D(pool_size=(2,2),strides=(2,2))(y)
y=Dropout(0.30)(y)
y=Flatten()(y)
merged_input=keras.layers.concatenate([x,y],axis=-1)
z=Dense(16,activation='softmax')(merged_input)
z=Dense(8,activation='softmax')(z)
z=Dense(4,activation='softmax')(z)
outp=Dense(1,activation='softmax')(z)
model=Model(inputs=[inputs_x,inputs_y],outputs=outp)
model.compile(loss='binary_crossentropy',
optimizer='sgd',
metrics=['accuracy'])
history=model.fit(x=[train_inputs_x,train_inputs_y],y=train_label,batch_size=32,
epochs=30,validation_split=0.2,shuffle=True)`
any ideas for this?

Does anyone know how to solve this issues?
in my model, by LSTM I have got repeating training and validation accuracy for each epoch!!
the model learns slightly within the epoch and after each batch, but seems it reset before next epoch and start again from the beginning!
its the training log after epochs:

4s - loss: 0.2217 - acc: 0.6464 - val_loss: 0.1487 - val_acc: 0.8137
3s - loss: 0.2217 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
3s - loss: 0.2217 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
3s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
4s - loss: 0.2216 - acc: 0.6469 - val_loss: 0.1487 - val_acc: 0.8137
...
it's the log after batches:
Train on 21000 samples, validate on 9000 samples
==================New Training Start====================
Epoch 1/50
batch: 0  ended Loss: 0.21712732 Accuracy: 0.625
batch: 1  ended Loss: 0.229398 Accuracy: 0.65166664
batch: 2  ended Loss: 0.22204755 Accuracy: 0.6383333
batch: 3  ended Loss: 0.21405634 Accuracy: 0.6533333
batch: 4  ended Loss: 0.21910276 Accuracy: 0.63
batch: 5  ended Loss: 0.22354788 Accuracy: 0.70166665
batch: 6  ended Loss: 0.23390895 Accuracy: 0.62166667
batch: 7  ended Loss: 0.21102294 Accuracy: 0.62833333
batch: 8  ended Loss: 0.22611171 Accuracy: 0.66833335
batch: 9  ended Loss: 0.21904916 Accuracy: 0.62
batch: 10  ended Loss: 0.23376058 Accuracy: 0.645
batch: 11  ended Loss: 0.21929795 Accuracy: 0.6766667
batch: 12  ended Loss: 0.22111656 Accuracy: 0.6483333
batch: 13  ended Loss: 0.2131401 Accuracy: 0.65
batch: 14  ended Loss: 0.2148913 Accuracy: 0.6566667
batch: 15  ended Loss: 0.22052963 Accuracy: 0.635
batch: 16  ended Loss: 0.22950262 Accuracy: 0.6333333
batch: 17  ended Loss: 0.22890009 Accuracy: 0.64666665
batch: 18  ended Loss: 0.22269897 Accuracy: 0.65166664
batch: 19  ended Loss: 0.22959195 Accuracy: 0.645
batch: 20  ended Loss: 0.22551142 Accuracy: 0.6566667
batch: 21  ended Loss: 0.2217158 Accuracy: 0.635
batch: 22  ended Loss: 0.21928492 Accuracy: 0.64
batch: 23  ended Loss: 0.21457554 Accuracy: 0.66333336
batch: 24  ended Loss: 0.22461174 Accuracy: 0.655
batch: 25  ended Loss: 0.21772751 Accuracy: 0.665
batch: 26  ended Loss: 0.21689837 Accuracy: 0.63166666
batch: 27  ended Loss: 0.22468112 Accuracy: 0.6333333
batch: 28  ended Loss: 0.2141714 Accuracy: 0.6533333
batch: 29  ended Loss: 0.22494899 Accuracy: 0.6483333
batch: 30  ended Loss: 0.22441803 Accuracy: 0.62833333
batch: 31  ended Loss: 0.22385867 Accuracy: 0.62666667
batch: 32  ended Loss: 0.2221946 Accuracy: 0.66
batch: 33  ended Loss: 0.2230069 Accuracy: 0.64166665
batch: 34  ended Loss: 0.21400177 Accuracy: 0.66

@hadisaadat reduce ur learning rate and try for a few smaller learning rates. SHould solve ur problem

@vishnu-zsf I'm having the same problem it seems, what optimizer/ learning rate did you use?

@amcneil1998  , i used adam optimizer and settled on a learning rate of 0.0008 , . This was when i used 100,000 data samples and had 10 epochs. But later on when i tried to run with 30 epochs , i shifted to decaying learning rate, which after tuning for a while gave me satisfactory results. I'm pretty sure that the learning rate and all the parameters in the optimizer vary with the kind of data we have and the sheer magnitude of the features.
<initial code when i ran with 10 epochs >
.
opt = optimizers.adam(lr=0.0008)
self.model.compile(loss='binary_crossentropy', optimizer=opt,metrics = ['accuracy'])
.

keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)
.
.
Do reply if you the issue still persists.

@vishnu-zsf still having the issue.  I have tried reducing the learning rate, increasing the learning rate, tried both sdg and adam optimizers.  I  have event tried to over fit my data by just using a small part of my data.  I currently have 900 data points, of which I am using 100 for both test and validation, and 700 for training.  I have tried increasing my amount of data to 2800, using 400 for both test and validation, and 2000 for training.  I'm currently using a batch size of 50, and even running past 50 epochs showed no increase in accuracy or loss.  I noticed later on while trying to predict results that my predictions were heading towards 0, with them coming closer the longer I trained.  This seems to be the case really no matter what I do.

@vishnu-zsf  @amcneil1998  in my case, the lr had no impact actually and the solution for me was shuffling data for each epoch.
depends on your data nature [time series or not] you should select a convenient cross-validation and shuffling strategy.

@hadisaadat setting shuffle=true did not improve my results.  Accuracy still stayed around 0.5 but loss started pretty low (0.01).  So I increased the learning rate and loss started around 5.1 and then dropped of to 0.02 after the 6th Epoch.  Accuracy started at 0.5 and averaged around that on both training and validation data for the 120 epochs that I trained.  However when predicting I am only able to get 2 values from the output.

@amcneil1998  you may have to regularize and can even use the Earlystopping in callbacks, but before that could you share your code and ur data ( 5 sample points would do) , coz like i said the methods we use pretty much depend on the type of data we use. Mine is all resolved now btw

@vishnu-zsf All of my input/output data is regularized from -1-1 with a mean of 0.   The input data is a 3d array with the form (Nsamples, Entries/Sample, EntryDim).  In this case it is (900, 225, 6).  The output data is a 2d array with shape (Nsamples, 2), so in this case it is (900,2). Some of the samples did not have enough entries so they are zero-padded to the correct size.  Here is the code for the model after the test data has been split off:
initilizer = RandomNormal(mean=0.0, stddev=0.05, seed=None)
modelInput = Input(batch_shape=(batch_size, 225, 6), name="Model_Input")
mid = LSTM(128, return_sequences=True, input_dim= (225, 6), bias_initializer=initilizer)(modelInput)
mid = LSTM(128, return_sequences=False, bias_initializer=initilizer)(mid)
output = Dense(2, activation='linear')(mid)
model = Model(inputs = modelInput, outputs = output)
adam = optimizers.Adam(lr = 0.000000001)
model.compile(loss='mean_squared_error', optimizer = adam, metrics=['accuracy'])
model.fit(trainInputData, trainTruthData, epochs=20, batch_size=batch_size, verbose=2, validation_split=(1/8), shuffle=True)

I have faced the same issue multiple times while using Keras. I have tried data normalization, shuffling, different learning rates and different optimizers. Nothing seems to help out, except increasing the data size. Now that is a problem for me, as I am trying to compare the effect of the data sample size on my network.
I see a lot of problems but rarely any solution in the discussions above. If anyone has a decent solution except sample size, kindly let me know.

I used to face the same result before. I found that using smaller neural network architecture. Reason behind should be due to vanishing gradient. In some situation, your input might not carry as much information as the neural network expects, and therefore, the weights are gonna vanish to zeros even after several layers. Such problem is more serious when you are doing ConvNet, and it's the reason why we got residual network. Hope this help.

I faced the same issue when trying to implement a CNN for a multi-label comment classification problem. When I used only a tiny subset of my data (say, 100 of 100000), my model did what I had expected with a highly imbalanced data set - loss decreasing, accuracy going up to 1 very quickly, validation accuracy a little lower, but also changing pretty fast. But when I used a bigger subset, my model seemed to get 'stuck' at a certain accuracy. It also predicted 'nan' for all test samples and labels.
What finally solved the problem for me was applying (sigmoid) activation to my convolutional layer (I used only one). I hadn't used any activation at first. I also set kernel_initializer to random_normal, but I think the crucial part was the activation.
Everything else I had tried before that (different activation on the other layers, manipulating the learning rate, gradient clipping, balancing out my dataset) didn't make any difference.
Looking at the other examples I see nobody made the same mistake - using a convolutional layer without activation - but who knows, maybe it can be helpful for someone in the future.

@sayedathar11
When I use model.add(Dense(1,activation='sigmoid')), am getting the following error.
ValueError: Error when checking target: expected dense_4 to have shape (1,) but got array with shape (2,)
Here is my code:
batch_size = 32
nb_classes = 2
data_augmentation = True
img_rows, img_cols = 224,224
img_channels = 3
#Creating array of training samples
train_path = "D:/data/train*.*"
training_data=[]
for file in glob.glob(train_path):
print(file)
train_array= cv2.imread(file)
train_array=cv2.resize(train_array,(img_rows,img_cols),3)
training_data.append(train_array)
x_train=np.array(training_data)
#Creating array of validation samples
valid_path = "D:/data/valid*.*"
valid_data=[]
for file in glob.glob(valid_path):
print(file)
valid_array= cv2.imread(file)
valid_array=cv2.resize(valid_array,(img_rows,img_cols),3)
valid_data.append(train_array)
x_valid=np.array(valid_data)
x_train = np.array(x_train, dtype="float")/255.0
x_valid = np.array(x_valid, dtype="float")/255.0
#Creating array for Labels
y_train=np.ones((num_trainsamples,),dtype = int)
y_train[0:224]=0 #Class1=0
y_train[225:363]=1 #Class2=1
print(y_train)
y_valid=np.ones((num_validsamples,),dtype = int)
y_valid[0:101]=0
y_valid[102:155]=1
print(y_valid)
y_train = np_utils.to_categorical(y_train,nb_classes,dtype='int32')
y_valid = np_utils.to_categorical(y_valid,nb_classes,dtype='int32')
base_model=ResNet50(weights='imagenet',include_top=False)
x = base_model.output
x = GlobalMaxPooling2D()(x)
x=Dense(1024,activation='relu')(x)
x=Dense(1024,activation='relu')(x)
x=Dense(512,activation='relu')(x)
x=Dense(1, activation= 'sigmoid')(x)
model = Model(inputs = base_model.input, outputs = x)
for i,layer in enumerate(model.layers):
print(i,layer.name)
for layer in model.layers[:75]:
layer.trainable=False
for layer in model.layers[75:]:
layer.trainable=True
adam = Adam(lr=0.0001)
model.compile(optimizer= adam, loss='binary_crossentropy', metrics=['accuracy'])
train_datagen = ImageDataGenerator(
brightness_range=(0.2,2.5),
rotation_range=180,
zoom_range=0.5,
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True,
vertical_flip=True)
train_datagen.fit(x_train)
history= model.fit_generator(train_datagen.flow(x_train, y_train, batch_size = 10,shuffle=True),steps_per_epoch=len(x_train),epochs = 500,shuffle=True,
validation_data=(x_valid,y_valid),validation_steps=num_validsamples // batch_size,callbacks=[tensorboard])
eval = model.evaluate(x_valid, y_valid)
print ("Loss = " + str(eval[0]))
print ("Test Accuracy = " + str(eval[1]))
predictions= model.predict(x_valid)
print(predictions)

I had same issue: epoch accuracy was growing while validation was the same value (0.41). But, I saved the weights after an epoch and then when loaded the weights and continued training, and everything worked.
First time: create the model, compile, call fit_generator: bad validation results every epoch.
Then: create the model, compile, load weights, call fit_generator: everything works beautifully.
To me it seems like I missed a step, but when calling load_weights on the model it was corrected

Had the same issue. Reducing Initial Learning Rate helps.

hey, I'm new at deep learning especially CNN. I've been trying to train 100 class with 10 images for each class.
I've been using many kinds of architecture but the val_loss really high and val_acc really low.
Do you guys have any suggestion for that?

@prabaHridayami That is very low amount of data, it can be hard to obtain good results. Are you doing any type of data augmentation? That would be my suggestion to increase the variety of data your model sees.

@skhadem yeah, i'm doing several augmentations so 1 image is going to be having 88 image augmentation. i'm currently trying to train 10 class with val_acc is 0.6870 and val_loss is 1.4573. what do you think?

@prabaHridayami what architecture are you using?

@prabaHridayami what architecture are you using?

model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(100, 400, 3), activation='relu', padding='same',name='block1_conv1'))
model.add(Conv2D(32, (3, 3), activation='relu',padding='same',name='block1_conv2'))
model.add(Conv2D(32, (3, 3), activation='relu',padding='same',name='block1_conv3'))
model.add(Conv2D(32, (3, 3), activation='relu',padding='same',name='block1_conv4'))
model.add(MaxPooling2D(pool_size=(2, 2),name='block1_pool'))
model.add(Conv2D(64, (3, 3), activation='relu',padding='same',name='block2_conv1'))
model.add(Conv2D(64, (3, 3), activation='relu',padding='same',name='block2_conv2'))
model.add(Conv2D(64, (3, 3), activation='relu',padding='same',name='block2_conv3'))
model.add(MaxPooling2D(pool_size=(2, 2),name='block2_pool'))
model.add(Conv2D(128, (3, 3), activation='relu',padding='same',name='block3_conv1'))
model.add(Conv2D(128, (3, 3), activation='relu',padding='same',name='block3_conv2'))
model.add(Conv2D(128, (3, 3), activation='relu',padding='same',name='block3_conv3'))
model.add(MaxPooling2D(pool_size=(2, 2),name='block3_pool'))
model.add(Conv2D(256, (3, 3), activation='relu',padding='same',name='block4_conv1'))
model.add(Conv2D(256, (3, 3), activation='relu',padding='same',name='block4_conv2'))
model.add(MaxPooling2D(pool_size=(2, 2),strides =(2,2),name='block4pool'))
model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.4))
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.4))
model.add(Dense(20, activation='softmax'))
this is my architecture model using sequential

@prabaHridayami I would recommend trying to do some transfer learning using a well-studied architecture. My favorite is VGG19. For example, you can load in, freeze the feature extraction and retrain the top layers:
base = keras.applications.VGG19(include_top=False, input_shape=(100,400,3), weights='imagenet') for layer in base:     layer.trainable = False model = keras.Sequential()

@prabaHridayami I would recommend using a well-studied architecture for feature extraction and then fine-tuning the layers on the top. My personal go-to is VGG19. In keras you can do something like this:
base = keras.applications.VGG19(input_shape=(100,400,3),
                                include_top=False,
                                input_size=(100,400,3))
# freeze base layers
for layer in base.layers:
    layer.trainable=False

model = keras.Sequential()
model.add(base)
# you should experiment with different top level designs
model.add(Dense(1024, activation='relu'))
model.add(Dropout(0.4))
model.add(Dense(512, activation='relu'))
model.add(Dropout(0.4))
model.add(Dense(20, activation='softmax'))

check out https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html

@prabaHridayami I would recommend using a pre trained and well studied architecture for feature extraction and then fine tuning the layers on the top. My personal go-to is VGG19. In keras you can do something like this:
base = keras.applications.VGG19(input_shape=(100,400,3),
                                include_top=False,
                                input_size=(100,400,3),
                                weights='imagenet',
                                pooling='max')
# freeze base layers
for layer in base.layers:
    layer.trainable=False

model = keras.Sequential()
model.add(base)
# you should experiment with different top level designs
model.add(Dense(1024, activation='relu'))
model.add(Dropout(0.4))
model.add(Dense(512, activation='relu'))
model.add(Dropout(0.4))
model.add(Dense(20, activation='softmax'))

check out https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html

thank you very much, i'll check that out...
i don't really understand about dense and dropout.
do you know what is the function of these two?

So Dense is just a fully connected layer, it is what does a lot of the "decision making" based on the resulting feature vector. It's a way to take large feature vectors and map to a class. The more you have the more "flexible" it can be, i.e. learn better, but that means more parameters. Dropout literally takes random weights and drops them by setting them to 0. The way I think about it is that if there are certain sections that are contributing a lot to a correct result, the optimizer could ignore everything else. With Dropout the optimizer is forced to focus on many different places. It helps to avoid over fitting and is almost standard at this point.

So Dense is just a fully connected layer, it is what does a lot of the "decision making" based on the resulting feature vector. It's a way to take large feature vectors and map to a class. The more you have the more "flexible" it can be, i.e. learn better, but that means more parameters. Dropout literally takes random weights and drops them by setting them to 0. The way I think about it is that if there are certain sections that are contributing a lot to a correct result, the optimizer could ignore everything else. With Dropout the optimizer is forced to focus on many different places. It helps to avoid over fitting and is almost standard at this point.

thanks you very much... now i understand

@sayedathar11
When I use model.add(Dense(1,activation='sigmoid')), am getting the following error.
ValueError: Error when checking target: expected dense_4 to have shape (1,) but got array with shape (2,)
Here is my code:
batch_size = 32
nb_classes = 2
data_augmentation = True
img_rows, img_cols = 224,224
img_channels = 3
#Creating array of training samples
train_path = "D:/data/train*.*"
training_data=[]
for file in glob.glob(train_path):
print(file)
train_array= cv2.imread(file)
train_array=cv2.resize(train_array,(img_rows,img_cols),3)
training_data.append(train_array)
x_train=np.array(training_data)
#Creating array of validation samples
valid_path = "D:/data/valid*.*"
valid_data=[]
for file in glob.glob(valid_path):
print(file)
valid_array= cv2.imread(file)
valid_array=cv2.resize(valid_array,(img_rows,img_cols),3)
valid_data.append(train_array)
x_valid=np.array(valid_data)
x_train = np.array(x_train, dtype="float")/255.0
x_valid = np.array(x_valid, dtype="float")/255.0
#Creating array for Labels
y_train=np.ones((num_trainsamples,),dtype = int)
y_train[0:224]=0 #Class1=0
y_train[225:363]=1 #Class2=1
print(y_train)
y_valid=np.ones((num_validsamples,),dtype = int)
y_valid[0:101]=0
y_valid[102:155]=1
print(y_valid)
y_train = np_utils.to_categorical(y_train,nb_classes,dtype='int32')
y_valid = np_utils.to_categorical(y_valid,nb_classes,dtype='int32')
base_model=ResNet50(weights='imagenet',include_top=False)
x = base_model.output
x = GlobalMaxPooling2D()(x)
x=Dense(1024,activation='relu')(x)
x=Dense(1024,activation='relu')(x)
x=Dense(512,activation='relu')(x)
x=Dense(1, activation= 'sigmoid')(x)
model = Model(inputs = base_model.input, outputs = x)
for i,layer in enumerate(model.layers):
print(i,layer.name)
for layer in model.layers[:75]:
layer.trainable=False
for layer in model.layers[75:]:
layer.trainable=True
adam = Adam(lr=0.0001)
model.compile(optimizer= adam, loss='binary_crossentropy', metrics=['accuracy'])
train_datagen = ImageDataGenerator(
brightness_range=(0.2,2.5),
rotation_range=180,
zoom_range=0.5,
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True,
vertical_flip=True)
train_datagen.fit(x_train)
history= model.fit_generator(train_datagen.flow(x_train, y_train, batch_size = 10,shuffle=True),steps_per_epoch=len(x_train),epochs = 500,shuffle=True,
validation_data=(x_valid,y_valid),validation_steps=num_validsamples // batch_size,callbacks=[tensorboard])
eval = model.evaluate(x_valid, y_valid)
print ("Loss = " + str(eval[0]))
print ("Test Accuracy = " + str(eval[1]))
predictions= model.predict(x_valid)
print(predictions)

I am also facing the exact same issue. If I keep the number of neurons in the output layer and use sigmoid, for each epochs, there is no change in the accuracy. But, if I make a change in the number of layers as mentioned above, same error as you are getting. Were you able to resolve ? In case yes, pls let us know the solution. Thank you in Advance.

I have a similar issue when i tried to build an autoencoder using LSTM for sequences or CNN for images, the model  reaches around 50% accuracy, 2.5 loss then stuck, nothing improving at all.
I tried to increase number of nodes, number of layers but with no progress.
After 3 days I tuned the optimizer trying to change learning rate and learning rate decay, and finally everything improved and everything makes sense, trying to increase learning rate decay slightly till the model start to improve without stuck at 50%.
I used Adam optimizer with following parameters
Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.01, amsgrad=False)
Tuning the parameters will change from problem to another of course.
Thanks!

this happened when I used
winit = RandomNormal(mean=0.0 , stddev=0.1)
for weight initialization in the Dense layers
and it just worked when I removed it and used the default settings !!!!

I had the same problem while training a convolutional auto encoder. I made learning rate ("lr" parameter in optimizer) smaller and it solved the problem.

can you send me your code of optimization of autoencoder. i want to optimize my autoencoder network but i have no idea how to do that. can you please help me .

I had the same problem while training a convolutional auto encoder. I made learning rate ("lr" parameter in optimizer) smaller and it solved the problem.

i want your code of optimization process in autoencoder. i am working on autoencoder model but i have no idea how to do optimization in auto encoder. can you please help me .

had the same problem, solved by a changing adam optimizer to sgd

I think that the learning rate is the probblem Actually mine was equal to 7 ahah. I wrote 10-3 instead of 1e-3

model = keras.Sequential([
    keras.layers.Conv2D(input_shape=(224,224,3),filters=64,kernel_size=(3,3),padding="same", activation="relu"),
    keras.layers.Conv2D(filters=64,kernel_size=(3,3),padding="same", activation="relu"),
    keras.layers.MaxPool2D(pool_size=(2,2),strides=(2,2)),
    keras.layers.Conv2D(filters=128, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.Conv2D(filters=128, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.MaxPool2D(pool_size=(2,2),strides=(2,2)),
    keras.layers.Conv2D(filters=256, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.Conv2D(filters=256, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.Conv2D(filters=256, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.MaxPool2D(pool_size=(2,2),strides=(2,2)),
    keras.layers.Conv2D(filters=512, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.Conv2D(filters=512, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.Conv2D(filters=512, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.MaxPool2D(pool_size=(2,2),strides=(2,2)),
    keras.layers.Conv2D(filters=512, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.Conv2D(filters=512, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.Conv2D(filters=512, kernel_size=(3,3), padding="same", activation="relu"),
    keras.layers.MaxPool2D(pool_size=(2,2),strides=(2,2)),
    keras.layers.Flatten(),
    keras.layers.Dense(units=4096,activation="relu"),
#     keras.layers.Dropout(.5),
    keras.layers.Dense(units=4096,activation="relu"),
    keras.layers.Dropout(.5),
    keras.layers.Dense(units=2, activation="sigmoid"),
])

model.compile(optimizer="adam",
            loss="categorical_crossentropy",
            metrics=['accuracy'])

with this architecture, I get 0.73 constantly. couldn't find a fix yet

reducing bath size solved it for me :)

Hi, I recently had the same experience of training a CNN while my validation accuracy doesn't change. I tried different setups from LR, optimizer, number of filters and even playing with the model size. But later I discovered it was an issue with my preprocessing of data. Basically, I was doing some preprocessing to my data before training which ends up squeezing the pixel intensity to near zero (in short all images were just black images). I discovered it after debugging my preprocessing step in which I tried to write some of the images in a disk.
To be honest, I was suspecting it was a bug from Keras but boom! it was not.  I tried to share my experience in case anyone else is facing the same issue.

 I am facing the same issue and am starting to suspect this is the problem. I divide my pixels by 255 (as is customary) but can still see what the image looks like when plotting it.

I was facing the same issue. I got resolved by changing the optimizer from 'rmsprop' to 'adam'.

I was facing the same issue. I got resolved by changing the optimizer from 'rmsprop' to 'adam'.

I faced the same issue. It got resolved by changing the optimizer from 'rmsprop' to 'adam'.

I faced the same issue. It got resolved by changing the optimizer from 'rmsprop' to 'adam'.

I tried changing optimizers, learning rates, momentum, network depth, and all other parameters. Turns out, I just needed to let it train for a long time before it started to find where the loss was decreasing. The AUC was stagnant for 35 epochs then it started increasing. Can't think of why, but it eventually started to learn.

I tried changing optimizers, learning rates, momentum, network depth, and all other parameters. Turns out, I just needed to let it train for a long time before it started to find where the loss was decreasing. The AUC was stagnant for 35 epochs then it started increasing. Can't think of why, but it eventually started to learn.

Go with  the suggestion given by @kodon0 . It works !

I'm using a convolutional autoencoder and have been facing this issue. I have reduced my batch size (even to 1) and reduced the number of layers but the problem persists.
My data size - Approx 10k images
I am not able to change the learning rate as the function for the optimizer is : full_model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.Adam(),metrics=['accuracy'])
Can anyone suggest how do I alter the learning rate or any other suggestion?
I can also post snapshots of any relevant code required to assess the issue. Thanks!

For Those who still have this problem and wondering why this occurs. The reason is pretty straightforward in your final Dense layers where you are specifying the output basically the softmax layer , here number of cells should be equal to number of classes.
If you are solving Binary Classification all you need to do this use 1 cell with sigmoid activation.
for Binary
model.add(Dense(1,activation='sigmoid'))
for n_class
model.add(Dense(n_class,activation='softmax')) #where n_class is number of classes
Thanks to :https://stackoverflow.com/questions/51581521/accuracy-stuck-at-50-keras

This worked for me!

For Those who still have this problem and wondering why this occurs. The reason is pretty straightforward in your final Dense layers where you are specifying the output basically the softmax layer , here number of cells should be equal to number of classes. If you are solving Binary Classification all you need to do this use 1 cell with sigmoid activation.
for Binary
model.add(Dense(1,activation='sigmoid'))
for n_class
model.add(Dense(n_class,activation='softmax')) #where n_class is number of classes Thanks to :https://stackoverflow.com/questions/51581521/accuracy-stuck-at-50-keras

This solution work like a charm!  thx


Innacurate Values

Good day appreciate the effort on the dashboard.. I don't know if I am using it wrong or it no longer works with Newer versions of freenas im on FreeNAS-11.3-U2.1 but some of the values I am getting are grossly innacurate
For example my Used Space shows as 49.38GB where freenas says it is 5.1TiB
and my Free Space shows as 2.35Tb where freenas says it is 3.19TiB
Net Transmit seems  out of wack to although thats harder to pinpoint values for.

Hi
Thanks for reaching out. I haven't used this dashboard for a while so I haven't noticed it myself.
I see the same as you in my environment if I don't choose a value in the df_resource variable. If I set this variable to one of the available options the values seems to be accurate so I suspect there are some grouping that has to be done/changed in the panels.
I have planned for a refresh of this dashboard for a while, guess it's time for that now.

Thanks for the response, made an attempt to do as you said and selected one source from the df_resource variable this resulted in accurate info but only on a per item basis(properly converts the freenas GiB to GB).. if I select all 72 items that belong to the same Pool its not accurate.
it shows free space accurately but not used space
shows used space as 75GB instead of ~ 5TB
if I select Pool/DataSet/Backup/User1   -- 93.91GiB(100.84GB)
AND
Pool/DataSet/Backup/User2   -- 200.1GiB(214.86GB)
it shows used space as 157.84GB
always showing the correct Free Space no matter the selection(I have no quotas set so not sure if that would work)


Add registers for battery and update readme

Holding register for battery found at https://forum.iobroker.net/topic/63643/solaredge-pv-production-mit-se-home-battery-gelöst/28.

thank you!


Slidable option for the seg-control instead of overlapping and hiding the text within if there are a lot?

Hello,
First of all i'd like to say that this is a great nuget package. 👍
I was wondering if there is an option to make the seg-control slidable if there a lot of items within, instead of trying to fit everything in the screen and overlap the text of the tabs? In order to avoid this behaviour:

I've had a quick look in the other issues but i don't think they mention anything like this (maybe i missed it if the do mention it)
Thank you in advance.

There's not such option at the moment. This would be an all new feature.

I also would appreciate this feature.


SoftwareUpdate check flushes the cache

Recently we've seen an issue where users could basically disregard our prompts as the zero day kept being updated.
This can be reproduced if

The current update has been found and cached
The user decides to dismiss our prompt for 6+ hours
Since the check has happened for longer than 6 hours, super double check with software update

4. The softwareupdate check loop fails ; either bypasses the timeout and lasts upwards of 2 hours, or fails immediately without even reporting "softwareupdate: Waiting for update list..."

super defaults to no update being available
super runs again the next day (deferralcheck is set to 86400 seconds), detects the patch again and sets a new zero day

However the softwareupdate process itself is working, an extension attribute we've set via Jamf reports the update correctly (and is ran daily).

First, it's important to recognize that softwareupdate can fail to return a list and then a few minutes later work properly and return a list. So even if your Jamf EA shows success, that doesn't guarantee that super experienced the same success.
Second, do you have any super.logs actually showing a two hour timeout or a "fails immediately"? Because the default timeout is only two minutes, and with out any examples showing how super is "fails immediately" then I don't know have anything to go on.

super.log
Here is a recent example : you should see a timeout longer than expected in the last few lines of the log.
Softwareupdate check being unreliable is it's own issue i understand. We've just been confused as to why the timeout mechanism hasn't kicked in the logs.

I resolved the zero day resetting issue: https://github.com/Macjutsu/super/releases/tag/v4.0.0-beta4


Rewrite type system to unify Type and RcVar

This cleans up notation/terminology and eliminates a ton of duplicated code. Also makes some small steps toward const-ifying some of the functionality.
Unfortunately this rewrites all of the type inference logic and touches nearly the entire library.

Checked that the new type inference matches the original one

Checked that the arrow code matches the original type inference. Looks good

I made it until ac11bdc. The rest is for tomorrow

Force-pushed to add two new fixup commits which change the comments and some names in types.rs and arrow.rs.
Your bookmark commit is now called 2483fbbcf4b4a13717acfd6b5260e716c0c7e58a.
Will hold off on any other changes until after your review is complete, since I don't think we'll need to iterate much on them, and I don't want to step on your toes.

Squash and we are ready to merge 60b7686.


Add single monitor mode

find solution for @lunatic-gh's problem to display GUI on one Monitor with all workspaces from all monitors

add --single-monitor which only shows the gui on the current monitor

I might add this in #62


Develop a Business App Using SAP Business Application Studio

Tutorials: https://developers.sap.com/tutorials/appstudio-cap-app.html
Step 3: Define bookshop service
There seems to be a typographical error in the CDS code that the developer is supposed to copy which causes the following error during runtime:

Artifact “CatalogService.Books.ID” has not been found (in action:“CatalogService.submitOrder”/param:“book”)

Basically this line:
    action submitOrder (book : Books.ID, amount: Integer);
The reference to the Book ID should be Books:ID not Books**.**ID.
Or... just leave it in for debugging practice.

HI!
Thank you for bringing this to our attention!! I've fixed it and will republish soon.


Add menu item tooltip & print message at bottom on hover

Add menu_item_select callback on GTK "select" signal to output message in the status line & in menu tooltip.
Show tips for all menus in addition to toolbar menu.

Fixes vim/vim#7810

Fixed the compiler warning and the memory leak.

@brammool  Thank you, there's small issue, however:
When using mouse (and not keyboard shortcuts) to open menu, sometimes cursor moves after the end of the message, and only cursor, focus still remains in original window (any key presses go to original focused window, and status line indicates this also).
Here's recording of first opening with keyboard shortcuts (<A-f>n) and then with the mouse (cursor moves to after the message on opening menu after second time):

I also notice that when editing the command line the tooltip overwrites the text.

Should we modify related test?
It wasn't failing when it should have.


Add support for the frame.sh desktop wallet

Component
Forge, Cast
Describe the feature you would like
I have miscellaneous wallets stored in frame that I'd like to be able to utilize in foundry workflows without handling the private keys and mnemonics directly. I try to utilize frame as a unified hub for wallet management, since it's fairly powerful and diverse for both injected web and CLI scripting. It also provides a nice electron-based UI for visually confirming low-level TX data before signing, which is an extra step I find useful on public networks.
N.B. I'd like to implement this myself
Additional context
Frame has a dedicated rpc endpoint http://<IP_ADDRESS>:1248 that accepts commands that allow for specifying a chainId and making other wallet management rpc commands. For now I'd just like to implement an interface for the wallet_switchEthereumChain via a CLI flag like --chain-id, which would allow for invoking a specific network on the fly.

It looks like this is now supported extensionally via
--from <addr> --rpc-url http://<IP_ADDRESS>:1248 --chain <chain id> --unlocked

I was getting a gas price error on this for a while but this is no longer the case.

I'm getting a No associated wallet for addresses: [<address>] error. Any ideas how to circumvent this?


Add Support for ZSTD Compression

Some games (especially on Nintendo Switch) use ZSTD for compressing files and archives. I think it would be another great addition to this library. Additionally, newer games (e.g., TotK) also use compression dictionaries to further improve efficiency. There are already several ZSTD libraries but most tend to just provide a wrapper around the original zstd C++ library. This might not be in the scope of this library but it would be great nonetheless.

There are already some good options and ZSTD is a bit complex and I would have to add a lot of code.
I personally use the ZstdSharp library.
I have a this wrapper if you want to use it through this library.
using AuroraLib.Compression.Interfaces;
using AuroraLib.Core.Buffers;
using AuroraLib.Core.Interfaces;
using System.IO.Compression;
using ZstdSharp;

namespace AuroraLib.Compression.Algorithms
{
    public class Zstd : ICompressionAlgorithm, IHasIdentifier
    {
        public IIdentifier Identifier => _identifier;

        private static readonly Identifier32 _identifier = new(0xFD2FB528);

        public bool IsMatch(Stream stream, ReadOnlySpan<char> extension = default)
            => stream.Length > 0x10 && stream.Match(_identifier);

        public void Compress(ReadOnlySpan<byte> source, Stream destination, CompressionLevel level = CompressionLevel.Optimal)
        {
            int zslevel = level switch
            {
                CompressionLevel.NoCompression => 0,
                CompressionLevel.Fastest => 5,
                CompressionLevel.Optimal => 10,
                CompressionLevel.SmallestSize => 20,
                _ => throw new NotImplementedException(),
            };
            Compress(source, destination, zslevel);
        }

        public static void Compress(ReadOnlySpan<byte> source, Stream destination, int level)
        {
            using SpanBuffer<byte> destinationSpan = new(Compressor.GetCompressBound(source.Length));
            using Compressor compressor = new(level);
            int length = compressor.Wrap(source, destinationSpan);
            destination.Write(destinationSpan.Span[..length]);
        }

        public void Decompress(Stream source, Stream destination)
        {
            using SpanBuffer<byte> sourceSpan = new((int)(source.Length - source.Position));
            source.Read(sourceSpan);
            ulong DecompressedSize = Decompressor.GetDecompressedSize(sourceSpan);
            using SpanBuffer<byte> destinationSpan = new((int)DecompressedSize);
            using Decompressor decompressor = new();
            int length = decompressor.Unwrap(sourceSpan, destinationSpan);
            destination.Write(destinationSpan.Span[..length]);
        }

    }
}


Add 11 & Rework 1

Description

Added icon for Fix Price (ru.bestprice.fixprice)
https://play.google.com/store/apps/details?id=ru.bestprice.fixprice
Added icon for Goodline (info.goodline.mobile2)
https://play.google.com/store/apps/details?id=info.goodline.mobile2
Added icon for Maxim (com.taxsee.taxsee)
https://play.google.com/store/apps/details?id=com.taxsee.taxsee
Added icon for Mir Pay (ru.nspk.mirpay)
https://play.google.com/store/apps/details?id=ru.nspk.mirpay
Added icon for Movie Lab (com.movielab.mobile)
https://movielab.media/
Added icon for Programming Hub (com.freeit.java)
https://play.google.com/store/apps/details?id=com.freeit.java
Added icon for Rutube (ru.rutube.app)
https://play.google.com/store/apps/details?id=ru.rutube.app
Added icon for Sberbank (ru.sberbankmobile)
Added icon for Sber Mega Market (ru.goods.marketplace)
Added icon for Stepik (org.stepic.droid)
https://play.google.com/store/apps/details?id=org.stepic.droid&gl=US
Added icon for Yandex Maps (ru.yandex.yandexmaps)
https://play.google.com/store/apps/details?id=ru.yandex.yandexmaps&gl=US
Rework icon for Steam (com.valvesoftware.android.steam.community)
https://play.google.com/store/apps/details?id=com.valvesoftware.android.steam.community&gl=US

Type of change

:x: Bug fix (non-breaking change which fixes an issue)
✅ Icon addition (non-breaking change that adds/modifies Lawnicons's icons)
:x: General change (non-breaking change that doesn't fit the above categories like copyediting)

Icons addition information

Icons added

Fix Price (ru.bestprice.fixprice)
Goodline (info.goodline.mobile2)
Maxim (com.taxsee.taxsee)
Mir Pay (ru.nspk.mirpay)
Movie Lab (com.movielab.mobile)
Programming Hub (com.freeit.java)
Rutube (ru.rutube.app)
Sberbank (ru.sberbankmobile)
Sber Mega Market (ru.goods.marketplace)
Stepik (org.stepic.droid)
Yandex Maps (ru.yandex.yandexmaps)

Icons updated

Steam (com.valvesoftware.android.steam.community)

Icons linked

Fix Price (linked ru.bestprice.fixprice to @drawable/fix_price)
Goodline (linked info.goodline.mobile2 to @drawable/goodline)
Maxim (linked com.taxsee.taxsee to @drawable/maxim)
Mir Pay (linked ru.nspk.mirpay to @drawable/mir_pay)
Movie Lab (linked com.movielab.mobile to @drawable/movie_lab)
Programming Hub (linked com.freeit.java to @drawable/programming_hub)
Rutube (linked ru.rutube.app to @drawable/rutube)
Sberbank (linked ru.sberbankmobile to @drawable/sber)
Sber Mega Market (linked ru.goods.marketplace to @drawable/sber_mega_market)
Stepik (linked org.stepic.droid to @drawable/stepik)
Yandex Maps (linked ru.yandex.yandexmaps to @drawable/yandex_maps)

Yes, due to visual weight


[Subtask] Manage test failures with kyuubi spark nightly build - Scheduler pool *** FAILED ***

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the subtask
Scheduler pool *** FAILED ***
The code passed to eventually never returned normally. Attempted 202 times over 3.013405877 seconds. Last failure message: job0Started was false. (SchedulerPoolSuite.scala:76)
Parent issue
https://github.com/apache/incubator-kyuubi/issues/2176
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

this issue is fixed  by pr #2190


Add applications page

[ ] I added a CHANGELOG entry for this change.
[ ] I adjusted the corresponding documentation for this change.
[ ] I adjusted the values.yaml file and the documentation for all values.

Codecov Report

Merging #323 (03ee17a) into rework-kobs-architecture (3ea5ac2) will increase coverage by 4.63%.
The diff coverage is 92.53%.

@@                     Coverage Diff                      @@
##           rework-kobs-architecture     #323      +/-   ##
============================================================
+ Coverage                     42.91%   47.55%   +4.63%
============================================================
  Files                            54       56       +2
  Lines                          2852     3146     +294
============================================================
+ Hits                           1224     1496     +272
- Misses                         1588     1605      +17
- Partials                         40       45       +5

Impacted Files
Coverage Δ

pkg/hub/hub.go
0.00% <0.00%> (ø)

pkg/hub/store/store.go
100.00% <ø> (ø)

pkg/hub/watcher/watcher.go
13.51% <0.00%> (-0.48%)
:arrow_down:

pkg/hub/store/bolt/bolt.go
79.67% <88.28%> (+4.67%)
:arrow_up:

pkg/hub/api/applications/applications.go
100.00% <100.00%> (ø)

pkg/hub/api/clusters/clusters.go
100.00% <100.00%> (ø)

pkg/hub/middleware/userauth/auth.go
100.00% <100.00%> (ø)

pkg/hub/middleware/userauth/context/context.go
100.00% <100.00%> (ø)

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 3ea5ac2...03ee17a. Read the comment docs.


read - write person streaming

I've wrapped the recent stream writer in a "context manager" so that it handles the boring xml shenanigans and allows the following low memory functionality:
with pam.write.matsim.Writer(path_population_output) as outfile:
    for person in pam.read.matsim.stream_matsim_persons(path_population_input, attributes=attributes ):
        some_modification(person)
        outfile.add_person(person)

Hopefully this allows low memory read writing for the cli. However please note that we still require the population attributes to be loaded fully into memory as we are still supporting v11 and, more importantly, experienced plans, which have their attributes in a separate file.
Note that streaming is at the person not household level. I am nervous to extend to a household streamer because i am not sure if we can guarantee the household structure within xml. This limits the application to person level modifications (eg plan jitter).
I've added 3 new commands using this to the cli:
  wipe-all-links  Clear all link information from agent plans.
  wipe-links      Clear selected link information from agent plans.
  wipe-routes     Clear all network route information from agent plans.

These are intended for preparing "warm" plans for network alterations. They are maybe bad examples because they are so lightweight and could be done with some simple xml parsing (similar functionality already in peep for example). But i put them here for safe keeping.
I am going to test in anger shortly.

seems to work fine

all done.
I have not done any profiling! Spent quite a long time trying to install heaptrack then got angry and am going home.

rounding this out, using a sample xml (83MB):
> pam.read.read_matsim (ie reading an entire plan into memory):
590MB over 32 seconds

> pam.read.stream_matsim_persons (ie iterating through all persons):
109MB over 28 seconds

@fredshone  nice! So, win-win..