Create an account


Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 20,164
» Latest member: Cellulose
» Forum threads: 21,783
» Forum posts: 22,666

Full Statistics

Online Users
There are currently 779 online users.
» 0 Member(s) | 774 Guest(s)
Applebot, Baidu, Bing, Google, Yandex

 
  Microsoft - Free online digital skills courses revive hope and careers for millions
Posted by: xSicKxBot - 12-14-2020, 12:43 PM - Forum: Windows - No Replies

Free online digital skills courses revive hope and careers for millions

Santa Lucia was already working on finding ways to make sure underserved people around the world could participate in the increasingly digital economy when the pandemic hit. The initial effort grew out of recognition that a third of the new jobs created in the U.S. in the past 25 years have been in occupations that didn’t exist before, and that 1.1 billion jobs may be radically transformed by 2030. The pandemic’s impact on the global workforce magnified the situation.

“COVID-19 was like pouring gasoline on the digital transformation, along with a great loss of jobs, so we knew we had to help displaced people immediately,” Santa Lucia says.

In the U.S. alone, tens of millions of people have filed for unemployment benefits this year due to lost jobs during the pandemic, and most have been on assistance for six months or longer. The hardest hit have been people of color, those who lack college degrees, and low-wage workers who earn $50,000 or less a year, says Sonya Francis, the senior director of career navigation for Goodwill Industries International, a nonprofit that supports people in finding jobs.

“Many of these positions won’t even exist post-COVID,” Francis says. “In order to be considered employable and marketable, you have to have digital skills.”

Man stands and gestures at screen while two men sit in chairs
“A graduate degree may be out of reach, but this training Microsoft is offering is really accessible,” says Carlos Galeana (standing), the instructional tech trainer for Seattle Goodwill.

The organization serves many who have never used a computer, so it started focusing on entry level digital skills about three years ago. This year it partnered with Microsoft to provide advanced training, testing and certifications in Atlanta and San Francisco, as well as Seattle and Tacoma in Washington.

“There’s a lot of excitement around particular Microsoft certifications because they’re enhancing employability quicker,” says Elizabeth McCombs, a project manager who works with Francis.

The pandemic proved a barrier to classes, since many Goodwill participants don’t have access to devices or the internet, McCombs says. But the organization still allows a small number of students to learn at career centers and also is offering mobile labs now, with Goodwill staffers taking devices and training to students’ homes.

“A graduate degree may be out of reach, but this training Microsoft is offering is really accessible,” says Carlos Galeana, the instructional tech trainer for Seattle Goodwill. Since the courses are online, students can complete them without having to purchase or install software, he says.

The LinkedIn modules have proven particularly helpful in giving students the fundamentals of digital literacy and showing them how it relates to all jobs and careers, whether they want to be an entrepreneur or a barista, says Eileen Aparis, vice president of job training for Seattle Goodwill. The classes give students the confidence to find jobs in administrative positions, medical fields, data science, manufacturing and more, she says.

“This opportunity with Microsoft isn’t just about being in IT or software or an app developer but to be successful in the workplace today,” Aparis says, “and the workplace of the 21st century is all technology.”

The program also is helping people who already have a firm grasp of technology and strong job skills, but want to make sure their career holds a promising future.

“Learning cloud computing is not a choice — it’s a must,” says Deepa Govindasamy. (Photo provided by Govindasamy)

Deepa Govindasamy, 36, followed her husband to Germany when his company transferred him there from India in 2018. After getting settled into her new country, Govindasamy wanted to return to her software-testing career, but she felt like something was missing as she looked for jobs. She’d studied civil engineering at university so only had on-the-job training in her chosen profession, and she knew there were things she needed to learn – especially cloud computing.

“Technology is growing and evolving so fast, I’ve seen it changing at warp speed, and the cloud is the future,” Govindasamy says. “Learning cloud computing is not a choice — it’s a must if you want to flourish in the IT industry.”

She heard about the nonprofit ReDI School of Digital Integration at a tech talk she attended late last year, and in February — just as the pandemic was taking hold in Germany — she began a Microsoft Learn software development course with classes in Java, Microsoft Azure and more. She earned her first certification in July and then started a data science program that built on it, along with soft-skills classes such as managing a LinkedIn profile for networking.

“This was how my COVID pandemic lockdown was for me, so busy with so much learning,” she laughs.

Govindasamy will be done with her training soon and plans to volunteer teach at ReDI while looking for a job, giving back to others what she’s learned herself — just as those who taught her this year had done.

“Data science will be additional knowledge I’ll be able to implement,” she says. “It’ll definitely help me out because software testing has evolved very much, and data is the heart of testing now. And now I can go a lot further in my career with these external certifications.”

Woman stands amid a stack of red boxes
“More companies are aware that to survive, they need to attract more tech talent,” says Anne Kjaer Bathel, who founded ReDI School of Digital Integration in Germany after meeting an Iraqi computer scientist without a computer at a refugee camp in Berlin in 2015. (Photo provided by ReDI)

ReDI School Chief Executive Officer Anne Kjaer Bathel founded the organization after a chance encounter in 2015 with a refugee in Berlin. The man was from Iraq and had a bachelor’s degree in computer science, but he didn’t have a computer in Germany and was afraid of losing ground in the fast-moving industry.

“You’ve heard the story about teaching a man to fish, well what does that story look like in a digital world?” Kjaer Bathel, herself an immigrant from Denmark, recalls pondering. “You need hardware, internet access, you need tech skills, soft skills, language, and a professional network to help open doors to the industry.”

Students wearing masks sit in front of computers in a classroom
“We have seen with COVID-19 that the awareness of the need for digital skills isn’t just in the tech industry but is for everything, to work remotely or do school,” says ReDI CEO Anne Kjaer Bathel. (Photo of a ReDI classroom provided by ReDI)

Kjaer Bathel put up a post on her Facebook page and the next day had a couple dozen responses with people offering equipment, space, expertise and even cake, “because food always brings people together.” Now ReDI — a shortening of “ready for digital integration” — relies on 500 volunteers from the tech and startup industries to provide free training to refugees, immigrants and marginalized Germans.

“More companies are aware that to survive, they need to attract more tech talent,” Kjaer Bathel says. “And we have seen with COVID-19 that the awareness of the need for digital skills isn’t just in the tech industry but is for everything, to work remotely or do school.”

Germany is an accreditation-driven society, so ReDI’s ability to provide free certification programs through Microsoft’s skills initiative “ticks those boxes” and assures prospective employers that ReDI graduates will be able to perform, she says.

It’s also motivational for students like Idlir Islamaj.

Islamaj, 34, grew up in Albania and followed his passion for technology to a master’s degree in computer science and a job, but he didn’t see many opportunities to advance or improve — and he wasn’t making enough money to support a family. So when he read in 2018 that Germany was in need of IT experts, he and his wife decided to make the move.

Man wearing glasses
“I’m very motivated for the next certification” through ReDI School, says Idlir Islamaj. (Photo provided by Islamaj)

It wasn’t easy to leave his seaside home and learn a new language near landlocked Munich, but Islamaj quickly found a position as a system administrator. He heard about ReDI last year and signed up for a Java course, having seen the need for it in creating different architecture. That led to an Azure certification program from Microsoft Learn that strengthened Islamaj’s knowledge of the cloud.

Now he’s a consultant for Beck et al, providing support to large global companies that use Microsoft 365 products.

“I feel really valued in what I do now, and I do my job with joy,” says Islamaj, who now makes enough to not only support his family — he and his wife had a baby last year — but to take them on vacations as well. “I see that I grow every day professionally and mentally. I see a lot of opportunities. And I’m very motivated for the next certification as well.”

Top photo: Lutendo Mabogo in front of Afrika Tikkun’s learning center in Diepsloot, north of Johannesburg. (Photo by Roy Potterill)



https://www.sickgaming.net/blog/2020/12/...-millions/

Print this item

  News - Need For Speed: Hot Pursuit Remastered Receives Its Very First Patch
Posted by: xSicKxBot - 12-14-2020, 12:42 PM - Forum: Nintendo Discussion - No Replies

Need For Speed: Hot Pursuit Remastered Receives Its Very First Patch


Recently, Need for Speed: Hot Pursuit Remastered got its very first patch. It fixes and adjusts certain things and even improves the overall stability of the game.

The update for the Nintendo Switch version, in particular, improves the visual performance in a number of races and sorts out some technical issues with the status of online friends.

Below are the full patch notes, courtesy of the game’s community manager via the Need for Speed subreddit. Enjoy!


Today we’re releasing Patch 1 for Need for Speed™ Hot Pursuit Remastered – here are the update notes:

Audio

  • Fixed an issue that could cause audio stuttering during races and cinematics.
  • When you change the VOIP / Microphone settings, it should now persist to the lobbies you join going forward.
  • VOIP system is now working as intended if a headset is plugged in after joining a multiplayer lobby.
  • Speech to text should now be functional for players on the same platform.
  • A similar issue also affected the text to speech audio being distorted, this is now resolved.

Lobbies

  • Interceptor lobbies should now be limited to two players, as intended.
  • The “Change Access” menu now properly disappears after a selection is made.
  • Fixed an issue where players wouldn’t transition from the lobby to the race.

Visual / UI

  • Players should no longer see voice icons from other platforms. In-game voice chat is available when cross-play is turned off. When cross-play is turned on, voice chat is restricted to each platform’s party chat system. This hint is now also shown in the privacy settings.
  • You should no longer be able to get stuck on the driver details menu.
  • When a friend beats your time, the correct date should now be displayed in the Autolog notification.
  • When busted as a racer in a Hot Pursuit multiplayer event, the player list is now only shown once on screen.
  • Autolog notifications should now display in the respective language if you change the console language and local settings.
  • Trophies you should receive (for Cop / Racer ranks) should now unlock correctly, even retroactively if there are any you should have received, but haven’t.
  • When using custom colors, the color displayed in the “last/recent” slots should now display correctly. It did most of the time, but there were a few scenarios where it wouldn’t.
  • Fixed an occlusion issue on a mountain along Boulder Road.
  • The Porsche Boxster Spyder now allows you to recreate “Speed Yellow” using the custom color palette.
  • Some events were missing Speedwalls, these are now present and visible on the career map.
  • The “Beauty and the Beasts” summary screen now shows the bounty earned for placing 3rd.
  • When losing connection and reconnecting, the player avatar is shown correctly on the Speedwall.
  • Notifications that a friend beat you in an Intercept event will no longer be cut off when scrolling at the bottom of the map screen, nor should they display random question marks.
  • During the Most Wanted event intro, the correct names and symbols should now be displayed above vehicles.
  • You should no longer encounter a short black screen when going to submenus from the pause menu during a multiplayer race.
  • The car shadow should no longer flicker in the Police Station parking lot on Cascade Terrace Road.
  • When you are viewing your own profile on PS4, the game you’re currently playing is now correctly shown.
  • After sending/receiving a game invite request from a friend, a confirmation notification will now show as intended.
  • When you’re in a single player race, the correct game mode is now reflected in your friends list and dashboard.
  • The player avatar frame now disappears after the first loading screen.
  • Player avatars should now be better aligned with names in result screens.
  • When cross-play is enabled, the platform identifier should now also show next to the name during a race, not only on the leaderboard.
  • With cross-play enabled, all platform identifier icons have the same shade / opacity of white.
  • The VOIP icon no longer overlaps player names in cross-play multiplayer race outro screens.
  • Players can now be added to the friends list from the “Recent Players” tab.
  • In Photo Mode, the top part of the police car sirens is no longer blacked out when the “Show Damage” toggle is set to “on”.
  • Removed a redundant line from the User Agreement.
  • After changing the resolution multiple times, the intro cinematic to “My Career” should still render at full screen now.
  • As some if you had pointed out, there was a Rank 21 shown as next rank. This was unintended and has now been fixed – Rank 20 is the highest rank.

Localization

  • Traditional Chinese: The “Jammer” text in the HUD is now in the right place when all charges have been exhausted.
  • All languages: Updated the localized Technical Support files in the Support folder of the game installation.
  • Spanish: Long player names should no longer be overlapping in the “autolog recommends” section.

Stability

  • When the “Most Wanted” quits during an ongoing race, all players should return to the menu as expected.
  • Fixed an issue that could cause the game to crash when selecting career events.
  • Restarting an event multiple times should no longer cause the game to crash.
  • Fixed an issue that could cause the game to crash when selecting the Autolog Recommends menu.
  • When joining a friend’s lobby while in photo mode, you should no longer encounter a black screen.
  • Fixed an issue that could cause a crash during an arms race session.
  • Fixed two issues that could occur during the “Unreasonable Force” event.
  • Resolved an issue that could lead to the game hanging when sharing your time on the wall.
  • You should now be able to frictionlessly join a friend after your game has been suspended on your console for a while.

Nintendo Switch

  • Online status of friends is now showing correctly in the friends list.
  • Improved visual performance on Barnstormer, Awe Inspired and Under Pressure.

See you on the streets of Seacrest County!


Have you downloaded this update yet? Noticed anything else? Leave a comment down below.



https://www.sickgaming.net/blog/2020/12/...rst-patch/

Print this item

  News - GameSpot After Dark 71: Cyberpunk 2077, Halo Infinite Delay, And More
Posted by: xSicKxBot - 12-14-2020, 12:42 PM - Forum: Lounge - No Replies

GameSpot After Dark 71: Cyberpunk 2077, Halo Infinite Delay, And More

This week's episode of GameSpot After Dark sees the return of Jake, which means there's a crackdown on Yakuza chat. Instead, however, we get a whole load of Cyberpunk 2077 talk, which makes perfect sense considering it's the biggest game of the year and it's out now.

Joining Jake are Kallie, Lucy, and Tamoor, all of who have played the game to different extents. Jake and Kallie have played the most, the former working on video coverage before the official release and the latter being the reviewer. Lucy and Tamoor, meanwhile, have sunk a few hours into the game, having started it more recently. That means you'll get a nice range of experiences.

On top of the Cyberpunk 2077 discussion there's also some analysis of the recent Halo Infinite delay, what it means, and how the crew feels about it.

Continue Reading at GameSpot

https://www.gamespot.com/articles/gamesp...01-10abi2f

Print this item

  Blender 2.92 Geometry Nodes
Posted by: xSicKxBot - 12-14-2020, 02:58 AM - Forum: Game Development - No Replies

Blender 2.92 Geometry Nodes

Hot on the heels of the Blender 2.91 release, Blender 2.92 is currently in Alpha and one of the most exciting new features is Geometry Nodes. Part of the everything as nodes strategy for future Blender development, the addition of geometry nodes will add procedural capabilities to Blender without requiring programming or scripting. Before the 2.92 alpha, Geometry Nodes were a separate branch with the project page available here.

When using Geometry Nodes, you are can create or modify geometry in your Blender scene using the new Geometry Node Editor. The process is very similar to the current way Shaders and Cycles materials are constructed. The selection of nodes are documented in the manual, however most descriptions are pretty sparse at this point. If you want to get started with nodes you need to run Blender 2.92 or later. Until it is formally released, the best place to get alpha and beta Blender releases is here.

There are two example projects to get you started. The best one currently is this one which shows how to use nodes to scatter rocks across your scene. There is another project that will showcase how to procedurally create a tree, however this project is currently just a place holder.

You can learn more about Blender 2.92 and Geometry Nodes in the video below.






https://www.sickgaming.net/blog/2020/12/...try-nodes/

Print this item

  News - Master Chief Joins The Battle In Fortnite
Posted by: xSicKxBot - 12-14-2020, 02:57 AM - Forum: Nintendo Discussion - No Replies

Master Chief Joins The Battle In Fortnite

Master Chief Fortnite Outfit 1920x1080 8ff20e89e5e3 (1)

If you’ve ever wanted to play as Master Chief on the Switch, now you can…in the battle royale game Fortnite. At the 2020 Game Awards yesterday, the rumour about the protagonist of Xbox’s Halo series joining Epic’s insanely popular title came true.


The Chief is available for 1500 V-Bucks, or you can get his entire set for 2600 V-Bucks. His pack comes with a UNSC Pelican Glider, a holographic Elite skull and a Gravity Hammer Pickaxe. In addition to this is a Lil’ Warthog emote.

Fortnite Unsc Pelican Glider Battle Legend Back Bling Gravity Hammer Pickaxe 1920x1080 48f0f907a472

To celebrate the addition of this new outfit, there’s also a recreation of the Halo multiplayer map Blood Gulch in Fortnite Creative. Here you can play a game of Capture the Flag. Find it in the ‘Featured Hub’ section of the game.

Master Chief follows on from the announcement of the God of War, Kratos. These characters are also being joined by Daryl Dixon and Michonne from The Walking Dead series. Will you be booting up Fortnite to see the Chief in action? Comment below.



https://www.sickgaming.net/blog/2020/12/...-fortnite/

Print this item

  News - Feature: Why Open A Video Game Shop During A Global Pandemic?
Posted by: xSicKxBot - 12-14-2020, 02:57 AM - Forum: Nintendo Discussion - No Replies

Feature: Why Open A Video Game Shop During A Global Pandemic?


2020 may have been a bumper year for video game sales, but it’s impacted other businesses in a very negative way. Cinemas and restaurants have been forced to close to prevent the spread of COVID-19, and while video game sales have been buoyant thanks digital and online purchases, physical retail stores with no means of selling remotely have seen their footfall reduced to a trickle; these bricks-and-mortar shops have really felt the pinch of local lockdowns and other restrictions on face-to-face trade.

You might think this is the worst possible time to open such a store, but that hasn’t stopped Richard Tewkesbury. You might recall him from a feature we did not so long ago; via his Game Boy Shack online store, he’s been selling games and modded systems for years, and his stall has been a regular face at live events throughout the UK – until 2020, of course.


With his income from events reduced to zero, Richard has taken it as an opportunity to fulfil a lifelong dream instead – to have his own physical retail store in his hometown of Leicester in the United Kingdom (which just so happens to be the closest city to Nintendo Life’s Loughborough HQ, fact fans).

If you’ve been following the coronavirus pandemic in the UK then you might be aware that Leicester was one of the first UK cities to be placed in lockdown earlier this year, and currently sits in “tier 3” – which is basically the highest of the three tiers laid out by the UK government. While this still allows for non-essential shops to remain open, the situation in the country – and indeed the entire world – still balances on a knife-edge and the UK has only just emerged from a ‘circuit breaker’ lockdown which could easily be repeated again in the near future. Nonetheless, Richard has opened his shop as planned, and has found that the reception has been an incredibly positive one.


Located close to the city’s main shopping complex, Super Game Shack (for that is its name) is described by its owner as something of a geek’s paradise; inside, you’ll find retro games and systems, Nintendo plushes, modded Game Boy consoles, video game-related merchandise and even Japanese sweets and drinks. Richard has stated that he wants to have a small workspace in the store so he can continue to create his trademark modded Game Boy consoles, and that in the fullness of time, retro fans will be able to visit to trade in old (and new) games for either cash or store credit, which will enable him to maintain a healthy turnover of pre-owned stock.

If you’re in the UK and based in Leicestershire (restrictions mean travelling between counties isn’t permitted) then be sure to drop by Super Game Shack and say hello to Rich (you can also follow the store via its Instagram and Facebook pages). He’s hopeful that the shop will be successful enough to become a truly permanent fixture in the city – and from what we’ve seen so far, it fully deserves to be.

Super Game Shack can be found at Unit 4, Silver Arcade, Leicester.



https://www.sickgaming.net/blog/2020/12/...-pandemic/

Print this item

  News - Apple TV+'s Mythic Quest Suffers Another COVID-19 Outbreak
Posted by: xSicKxBot - 12-14-2020, 02:57 AM - Forum: Lounge - No Replies

Apple TV+'s Mythic Quest Suffers Another COVID-19 Outbreak

When It's Always Sunny In Philadelphia returns for Season 15 at some future date, its planned COVID-19 episode will, unfortunately, have more than its share of authenticity to lend: Variety is reporting that Mythic Quest: Raven's Banquet (Sunny's Rob McElhenney other show) has just suffered its second COVID-19 outbreak in as many months.

As of this writing, there were a reported 16 cases of the coronavirus at Radford lot, the CBS studio lot where the Apple TV+ show is shot--and the largest outbreak of similar clusters in recent months at CBS overall. Grimly, CBS' Radford lot is considered "ground zero" for coronavirus cases on productions in all of Los Angeles. In the last month alone, that lot has racked up 41 cases.

Continue Reading at GameSpot

https://www.gamespot.com/articles/apple-...01-10abi2f

Print this item

  [Tut] Fitting Data With Scipy’s UnivariateSpline() and LSQUnivariateSpline()
Posted by: xSicKxBot - 12-14-2020, 12:32 AM - Forum: Python - No Replies

Fitting Data With Scipy’s UnivariateSpline() and LSQUnivariateSpline()

This article explores the use of the functions .UnivariateSpline() and .LSQUnivariateSpline(), from the Scipy package.

What Are Splines?


Splines are mathematical functions that describe an ensemble of polynomials which are interconnected with each other in specific points called the knots of the spline.

They’re used to interpolate a set of data points with a function that shows a continuity among the considered range; this also means that the splines will generate a smooth function, which avoid abrupt changes in slope.

Compared to the more classical fitting methods, the main advantage of splines is that the polynomial equation is not the same throughout the whole range of data points.

Instead, the fitting function can change from one interval to the subsequent one, allowing for fitting and interpolation of very complicated point distributions. In this article we will see:

  • i) how to generate a spline function to fit a given set of data points,
  • ii) which functions we can then use to extrapolate the value of points within the fitted range,
  • iii) how to improve the fitting, and
  • iv) how to calculate the related error.   

Splines — A Mathematical Perspective


In mathematics, splines are functions described by an ensemble of polynomials.

Even if splines seem to be described by a single equation, they are defined by different polynomial functions which holds over a specific range of points, whose extremes are called knots. Each knot hence represents a change in the polynomial function that is describing the shape of the spline in that specific interval.

One of the main characteristics of splines is their continuity; they are continuous along the entire interval in which they are defined; this allows for the generation of a smooth curve, that fit our set of data points.

One of the main advantages of using splines for fitting problems, instead of single polynomials, is the possibility of using lower degree polynomial functions to describe very complicated functions.

Indeed, if we wanted to use a single polynomial function, the degree of the polynomial usually increases with the complexity of the function that has to be described; increasing the degree of the fitting polynomial could introduce unwanted errors in the problem.

Here is a nice video that explain in simple terms this issue:




Splines avoid this by varying the fitting equation over the different intervals that characterize the initial set of data points. From an historical point of view, the word “Spline” comes from the flexible spline devices that were exploited by the shipbuilders to draw smooth shapes in the designing of vessels. Nowadays they also find large application as fundamental tools in lots of CAD software (https://en.wikipedia.org/wiki/Spline_(mathematics) ). 

Scipy.UnivariateSpline


In the first part of this article we explore the function .UnivariateSpline(); which can be used to fit a spline of a specific degree to some data points.

To understand how this function works, we start by generating our initial x and y arrays of data points. The x array (called “x”), is defined by using the np.linspace() function; the y array is defined by exploiting the np.random function called .randn(), which return a sample from the standard normal distribution.

See: https://numpy.org/devdocs/reference/random/generated/numpy.random.randn.html for additional documentation.

import matplotlib.pyplot as plt
from scipy.interpolate import UnivariateSpline, LSQUnivariateSpline
import numpy as np #x and y array definition (initial set of data points)
x = np.linspace(0, 10, 30)
y = np.sin(0.5*x)*np.sin(x*np.random.randn(30))

Once we have defined the initial set of data points, we can call the function .UnivariateSpline(), from the Scipy package and calculate the spline that best fits our points.

While the procedure is rather simple, understanding the fundamental parameters that define the spline function that we want to create, might generate some confusion; to this purpose, it is better to analyze in detail the main input parameters that can be defined when calling the function in our code.

As can be also seen in the documentation (https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.UnivariateSpline.html), the .UnivariateSpline() function accepts as mandatory inputs the x and y arrays of data points that we want to fit.

In most cases, our aim is to fit complicated functions and to this purpose, other parameters must be specified.

One of the most important parameters is “k”, which refers to the degree of the polynomials that define the spline segments. “k” can vary between one and five; increasing the degree of the polynomials allows a better fitting of more complicated functions; however, in order not to introduce artifacts in our fit; the best practice is to use the lower degree that allows for the better fitting procedure.

Another relevant parameter is “s”, it’s a float number which defines the so-called smoothing factor, which directly affects the number of knots present in the spline. More precisely, once we fix a specific value of “s”, the number of knots will be increased until the difference between the value of the original data points in the y array and their respective datapoints along the spline is less than the value of “s” (see documentation for the mathematical formula). It can be understood that the lower the value of “s”, the higher the fitting accuracy and (most of the times) the n° of knots, since we are asking for a smaller difference between the original points and the fitted ones.

Now that the parameters that governs the shape of our spline are clearer, we can return to the code and define the spline function. In particular, we will give as input arrays the “x” and “y” arrays previously defined; the value of the smoothing factor is initially set to five while the parameter “k” is left with the default value, which is three.

#spline definition spline = UnivariateSpline(x, y, s = 5) 

The output of the .UnivariateSpline() function is the function that fit the given set of data points. At this point, we can generate a denser x array, called “x_spline” and evaluate the respective values on the y axis using the spline function just defined; we then store them in the array “y_spline” and generate the plot.

x_spline = np.linspace(0, 10, 1000)
y_spline = spline(x_spline)
#Plotting
fig = plt.figure()
ax = fig.subplots()
ax.scatter(x, y)
ax.plot(x_spline, y_spline, 'g')
plt.show()

The result of this procedure is displayed in Figure 1.

Figure 1: Initial set of data points (blue points) and spline function generated for the fitting (green curve). As can be easily guessed, the spline function is not able to follow with sufficient accuracy the data points.

As can be seen from Figure 1, the obtained spline gives a really bad fit of our initial data points; the main reason is the relatively high value that was assigned to the smoothing factor; we will now explore a possible strategy for improving our spline, without introducing exaggerated alterations.

One of the best way to improve this situation is to exploit the method .set_smoothing_factor(s); which continues the spline calculation according to a new smoothing factor (“s”, given as the only input), without altering the knots already found during the last call. This represents a convenient strategy, indeed, splines might be very sensitive to changes in the smoothing factor; this means that changing the smoothing function, directly in the .UnivariateSpline() calling, might alter significantly the output result in term of the spline shape (keep in mind that our goal is always to obtain the best fit with the simplest spline possible). The following code lines describe the definition of a new and more accurate spline function, with a smoothing factor equal to 0.5.

After the application of the above-mentioned method, the procedure is identical to the one described for generating the first spline.

# Changing the smoothing factor for a better fit
spline.set_smoothing_factor(0.05)
y_spline2 = spline(x_spline)

We conclude by plotting the result; Figure 2 display the final output, the new spline is the blue curve, plotted together with the old one (green curve) and the initial data points (light blue points).

#Plotting
fig = plt.figure()
ax = fig.subplots()
ax.scatter(x, y)
ax.plot(x_spline, y_spline, 'g', alpha =0.5)
ax.plot(x_spline, y_spline2, 'b')
plt.show()
Figure 2: New spline function (blue curve), plotted together with the old spline (green curve) and the initial data points (light blue points). After setting the smoothing factor to a lower value, the fit improves significantly; this is because we forced the initial points in the y array and the ones along the spline to have a smaller difference.

As can be seen from Figure 2, the newly generated spline function well describes the initial data points and still pass by the knots that were found in the initial call (data points common to both the two spline functions)

We conclude this part by illustrating some useful methods that can be used after the generation of the correct spline function, for describing our data points. The first of these methods is called “.__call__(x)”, which allows evaluating the value of specific points on the spline, given in the form of a list or single number. The following lines describe the application of this methods (we evaluate the the spline for a value of 2 in the x-axis).

#evaluate point along the spline
print(spline.__call__(2))

The result of the print command is 0.5029480519149454. Another important method is .get_residual(), which allows obtaining the weighted sum of squared residuals of the spline approximation (more simply, an evaluation of the error in the fitting procedure).

#get the residuals
print(spline.get_residual())

The result for this case is 0.049997585478530546. In some applications, it could be of some interest to calculate the definite integral of the spline (i.e. the area underneath the spline curve between a specific range along the x-axis); to do this, the method .integral(a,b) represents the simplest solution; “a” and “b” are the lower and upper limits along the x-axis between which we want to evaluate the area (in this case we calculate the area underneath the spline, between 1 and 2). Application of this method is illustrated in the following lines.

#definite integral of the spline
print(spline.integral(1,2))

The result of the integration is -0.2935394976155577. The last method allows obtaining the values of the points in which the spline crosses the x-axis, i.e. the solutions to the equations defining the spline function. The method is called .roots(), its application is shown in the following lines.

#finding the roots of the spline function
print(spline.roots())

The output of this last line is an array containing the values of the points for which the spline crosses the x-axis, namely:

[1.21877130e-03 3.90089909e-01 9.40446113e-01 1.82311679e+00 2.26648393e+00 3.59588983e+00 3.99603385e+00 4.84430942e+00 6.04000192e+00 6.29857365e+00 7.33532448e+00 9.54966590e+00]

Scipy.LSQUnivariateSpline


In the last part of this article, we introduce .LSQUnivariateSpline(), another function that can be used for spline generation. From a practical point of view, it works similarly to .UnivariateSpline(), indeed as we will see, there are very few differences in how we call and define it in our script.

The fundamental difference between this function and the previous one, is that .LSQUnivariateSpline() allows generating spline curves by directly controlling the number and the position of the knots.

This means that we have the full control of the knots that will define the spline; differently, in the previous case, the number of knots was indirectly regulated through the choice of the smoothing factor. In order to appreciate how our spline will change by increasing the number of knots, we start by defining two different arrays, “t” and “t1”, t1 is the denser array.

#LSQUnivariateSpline
t = np.array([0.5, 1, 2.5])
t1 = np.linspace(1, 9, 20)

The function .LSQUnivariateSpline() accepts as mandatory input, the x, y arrays and the array “t”, which contains the coordinates of the knots that will define our spline. An important condition that has to be kept in mind is that the coordinates of the knots must be located within the range of the x array.

In our case, we will use the same x and y arrays employed for the previous case. At this point we have to call the function twice, in order to show the difference between the two set of knots arrays. In addition, we specify the parameter “k”, which again refers to the degree of the polynomials that describe the spline.

LSQUspline = LSQUnivariateSpline(x, y, t1, k = 4)
LSQUspline1 = LSQUnivariateSpline(x, y, t, k = 4)

Our final task is to plot the two splines, together with the original data points. We will generate the arrays containing the y values of the two splines directly in the plotting command.

#Plotting
plt.scatter(x, y, s=8)
plt.plot(x_spline, LSQUspline(x_spline), color = 'b')
plt.plot(x_spline, LSQUspline1(x_spline), color = 'g')
plt.show()

The final result is displayed in Figure 3; as can be seen, by increasing the number of knots, the spline function better approximates our data points. If we check carefully, both the splines pass for the knots specified in the “t” and “t1” arrays, respectively. Most of the methods previously shown for .UnivariateSpline() work on this function too (for additional documentation please refer to https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.LSQUnivariateSpline.html ).

Figure 3: Representation of the two splines defined through the function LSQUnivariateSpline. Both the splines pass for the previously specified knots.

Conclusion


To conclude, in this article, we explored spline functions, their power and versatility.

One thing that is important to keep in mind is that when we are using splines for fitting and interpolating a given set of data points, we should never exceeds with the degree of the polynomials that define the spline; this is to avoid unwanted errors and incorrect interpretation of the initial data.

The process has to be accurately refined, possibly through repetitive iterations to double check the validity of the generated output.

The post Fitting Data With Scipy’s UnivariateSpline() and LSQUnivariateSpline() first appeared on Finxter.



https://www.sickgaming.net/blog/2020/12/...atespline/

Print this item

  (Indie Deal) FREE Kalaban, Beyond a Steel Sky Deal, Chronos: Before the Ashes is out
Posted by: xSicKxBot - 12-14-2020, 12:32 AM - Forum: Deals or Specials - No Replies

FREE Kalaban, Beyond a Steel Sky Deal, Chronos: Before the Ashes is out

Kalaban FREEbie
[freebies.indiegala.com]
The horror-themed action-adventure game focuses on storytelling and open-ended gameplay.

Beyond a Steel Sky at a Beyond Good Price
[www.indiegala.com]
The long awaited sequel to the cult classic 'Beneath a Steel Sky' is here.

https://youtu.be/Mqnmv0vouko

CI Games Publisher Sale, up to -85%
[www.indiegala.com]

The 242nd GalaQuiz will be LIVE soon, win up to $50:dollars: in GalaCredit!
[www.indiegala.com]
The GalaQuiz will take place in less than 120 minutes from this announcement
Today's GalaQuiz[www.indiegala.com] hints are up. The theme will be Freebie #4 Redux Redux.

Stay Inside, Stay Safe and Enjoy Good Games.
Check out IndieGala on Twitter, YouTube & Facebook[www.facebook.com]


https://steamcommunity.com/groups/indieg...6457261293

Print this item

  News - Best of 2020: Creating the ever-improvising text adventures of AI Dungeon 2
Posted by: xSicKxBot - 12-14-2020, 12:31 AM - Forum: Lounge - No Replies

Best of 2020: Creating the ever-improvising text adventures of AI Dungeon 2

Machine generated text as a way to respond to conversational, human-provided text input has been an application of computing since at least Eliza, but AI Dungeon 2 takes it to new extremes.

It basically pretends to be one of those old Infocom-style adventure games, but with no limits on what the player can enter. Whatever the input is, it improvises events through prose, to react to them.

While it’s still not up to the level of classic or modern text adventures, and occasionally loses track of situations over multiple turns, AI Dungeon 2 sometimes surprises in the kinds of responses it can generate, and the unexpected directions it can take the user’s adventures.

The game was created by Nick Walton of Brigham Young University’s Perception, Control, and Cognition Laboratory and created quite a stir upon its unveiling, so much that they had to quickly rework it to cut down on bandwidth costs. Walton answered some questions we had about how AI Dungeon 2 was made and where it’s going next.

Who are you, what is AI Dungeon 2, and who helped make it a reality?

I’ve been working on deep learning tech for the past couple years. I interned at a couple autonomous vehicle companies and have been doing research in the BYU Perception, Control, and Cognition Laboratory​, a deep learning research lab at BYU.

I’ve been working on AI Dungeon since I had the idea at a hackathon in March. I continued to work on the idea, getting advice from Dr. David Wingate, the professor I worked with. Eventually it finally came together as AI Dungeon 2 at the beginning of December.

AI Dungeon is a first of its kind game where the story and responses to your actions are entirely generated by deep learning. The awesome thing about this is the game is built on top of a giant machine learning model made by OpenAI called GPT-2 it can adapt and respond to almost any action you can imagine, giving you vast amounts of freedom that players have never had in a game before.

AI Dungeon 2‘s popularity shot up suddenly, almost overnight. What happened?

I had gotten some attention with AI Dungeon 1. A couple thousand people had played it when I had released it back in May, so when I started teasing snippets from AI Dungeon 2 people started paying attention. But when I actually released AI Dungeon 2 it exploded much faster than I had expected.

We had released it as a game people could play in Google Colab, a way for researchers to run code on Google machines for free, but it would download the 5 GB model each time someone played.

Within a few days we had racked up over $20,000 in bandwidth charges from so many people downloading the model. We had to temporarily shut it down until some awesome community contributors put up a peer to peer downloading solution.

Now AI Dungeon 2 is playable as a web and mobile app and a team has come together to work on improving the game. An awesome app developer Braydon Batungbacal built out the mobile apps in a week, my brother Alan Walton helped us build out the infrastructure to host the massive model at a large scale, and Thorsten Kreutz is helping us work on the long term of where this idea can go. We see AI Dungeon 2 as just the beginning of an exciting shift in entertainment.

The format of AI Dungeon 2‘s output appears to emulate that of the classic Infocom text adventures. AI Dungeon gets its text corpus from Choose Your Story, however. Was there any form of data massage needed to produce usable input and/or output?

Yeah there is a decent amount of model and data massaging that happens on the game side to make sure the model plays nicely. We cut off trailing sentences and end of text tokens in the model output as well as do some transforming on the player’s input to make sure it’s in the second person format. I also had to do a decent amount of work to control repetition as that’s a big problem with GPT-2 especially at lower temperature (randomness) settings.

It is a fun hobbyist programmer project to make your own text generator. GPT-2, while a great deal more sophisticated and using a much larger set of data, seems to do a similar kind of thing. Could you give us an overview of how it works?

GPT-2 is a deep learning language model. A language model essentially just means it tries to predict the most likely next word given the previous set of words. The really cool thing about language models is because you can train it on any text (no labeling required) it can learn from the really massive amount of text data that’s out there. The largest model was trained on 40 GB of just text data.

In learning to predict the most likely next word, it learns not just how the English language works, but it also learns a model of the world that allows it to predict the most likely next event (for example if you get stabbed you might die) and that allows you to use it to do some really interesting things.

The GPT-2 system is available for download for people who’d like to play around with it. How would you recommend interested people might get started?

There’s some really great Python packages that let you fine tune GPT-2 and play around with it yourself. GPT-2-Simple by Max Woolf is probably the easiest way to get started and you can run it in a Google Colab notebook like the one here.

The site for AI Dungeon 2 notes that you’re beginning to sell mobile app interfaces to help fund the server and bandwidth that the game requires. How is that going? Are you still worried that the project may have to end due to financial concerns?

We’ve turned the game into a startup as there’s really no way to make a great experience without having the financial sustainability of a business. We plan on keeping the base version of the game free to play, but will add a premium version of the game that will allow us to cover the server costs.

The premium version will have a lot of interesting new game modes and features so we’re pretty confident we’ll be able to make the game sustainable with that.

Is AI Dungeon 2, as it stands, complete? Are there any improvements, or a sequel, planned? Maybe allowing for more starting points, or to provide greater continuity between turns?

We have a lot of different things we’re working on. In the near term, we’re working on adding multiplayer and text to voice support, but we’re also looking at more innovative improvements in the future.

A text generator like this seems like it might have huge and hilarious applications beyond just simulating a text adventure game! Google is trying to get people used to thinking of AIs in non-Skynet terms with their free course, and researcher Janelle Shane has put an AI of their own creation to work on such subjects as naming kittens. Do you have plans to continue with text generation, or are you moving on to other applications?

Text generation will continue to be a big part of what we’re trying to make with AI Dungeon and its sequels, but we’ll also start adding in other forms of AI content generation with music, images, and voice as we’re able to.

Most of our readers are game developers, and some of those use bespoke algorithms to do things like randomly generate terrain to explore. GPT-2 is built to generate text based on other text found on the internet; do you think the underlying system might someday be of use in the production of more traditional types of entertainment software?

Definitely. I think AI Dungeon is just the beginning in a huge evolution in gaming and we’re hoping to help enable that. There’s a lot of exciting potentials this technology opens up and we’re excited to see what that future looks like.



https://www.sickgaming.net/blog/2020/12/...dungeon-2/

Print this item

 
Latest Threads
News - Xbox Kills Obsidia...
Last Post: xSicKxBot
24 minutes ago
Black Ops 2 GSC Studio | ...
Last Post: Cellulose
4 hours ago
Black Ops 2 (BO2,T6) 1.19...
Last Post: Cellulose
4 hours ago
Black Ops 2 Jiggy v4.3 PC...
Last Post: Cellulose
4 hours ago
Black Ops (BO1, T5) DLC's...
Last Post: bobboy62
6 hours ago
Redacted T6 Nightly Offli...
Last Post: xavier_aeee
Today, 09:25 AM
News - Love And Deepspace...
Last Post: xSicKxBot
Today, 06:30 AM
Forza Horizon 5 Game Save...
Last Post: LEANZSLOW_
Yesterday, 10:26 PM
(Free Game Key) Epic Game...
Last Post: xSicKxBot
Yesterday, 02:10 PM
News - Paralives’ Success...
Last Post: xSicKxBot
Yesterday, 02:10 PM

Forum software by © MyBB Theme © iAndrew 2016